Arrays 可以在scala中用用户输入填充数组吗?
我正在尝试以下操作,但出现错误“数组[Int]类型的变量arr不接受类型参数。”Arrays 可以在scala中用用户输入填充数组吗?,arrays,scala,Arrays,Scala,我正在尝试以下操作,但出现错误“数组[Int]类型的变量arr不接受类型参数。” 对象重试\u arr { def main(参数:数组[字符串]) { var arr=新数组[Int](3) 对于(i在scala中,您可以像这样索引数组 arr(i) = num 在scala中,对数组进行如下索引 arr(i) = num 正如Simon已经指出的,您正在尝试将java语法应用于scala代码——在scala中,[]用于指定类型,为了访问数组元素,您应该使用(),例如xs(3) 我想解决这
对象重试\u arr
{
def main(参数:数组[字符串])
{
var arr=新数组[Int](3)
对于(i在scala中,您可以像这样索引数组
arr(i) = num
在scala中,对数组进行如下索引
arr(i) = num
正如Simon已经指出的,您正在尝试将java语法应用于scala代码——在scala中,[]用于指定类型,为了访问数组元素,您应该使用(),例如xs(3)
我想解决这个问题最干净的方法是使用Array.fill方法:
object FillTheArray {
def main(args: Array[String]) {
val userInput = Array.fill(3) {
scala.io.StdIn.readInt()
}
}
}
正如Simon已经指出的,您正在尝试将java语法应用于scala代码——在scala中,[]用于指定类型,为了访问数组元素,您应该使用(),例如xs(3)
我想解决这个问题最干净的方法是使用Array.fill方法:
object FillTheArray {
def main(args: Array[String]) {
val userInput = Array.fill(3) {
scala.io.StdIn.readInt()
}
}
}
更多的旁注,考虑这个更可变的方法,用不可变的对象,
val xs = for (i <- 1 to 3; num = scala.io.StdIn.readInt()) yield num
同样地
(1 to 3).map(_ => scala.io.StdIn.readInt()).toArray
这是一个更简洁的代码
这与创建一个可变数组的更为迫切的方法相反,并且用用户输入更新每个位置(范围内的每个值所指)。
更多的旁注,考虑这个更可变的方法,具有不可变的对象,
val xs = for (i <- 1 to 3; num = scala.io.StdIn.readInt()) yield num
同样地
(1 to 3).map(_ => scala.io.StdIn.readInt()).toArray
这是一个更简洁的代码
这与创建可变数组并使用用户输入更新每个位置(由范围中的每个值引用)的更为迫切的方法形成对比。使用下面的语句
a(i)= scala.io.StdIn.readInt()
使用下面的语句
a(i)= scala.io.StdIn.readInt()
in-for循环不能从1到3,因为数组索引从0开始,介于0到2之间。否则将显示错误ArrayoutofBond异常
代码:
var arr=新阵列
for(i<- 0 to 2)
{
print("Enter number")
val num = scala.io.StdIn.readInt()
arr(i) = num
}
arr.foreach((element:Int)=> print(element + " "))
(i打印(元素+“”)的
for循环中的数组索引不能从1到3,因为数组索引从0开始,介于0到2之间。否则将显示错误arrayoutofBond异常
代码:
var arr=新阵列
for(i<- 0 to 2)
{
print("Enter number")
val num = scala.io.StdIn.readInt()
arr(i) = num
}
arr.foreach((element:Int)=> print(element + " "))
(i打印(元素+“”)的
虽然此代码可以回答问题,但提供有关此代码回答问题的原因和/或方式的附加上下文可提高其长期价值。虽然此代码可以回答问题,但提供有关此代码回答问题的原因和/或方式的附加上下文可提高其长期价值。