好的,所以我想将值存储在数组中。这是我的代码:
import java.util.Scanner;
public class test {
public static void main(String args[]){
Scanner bob = new Scanner(System.in);
double[] mylist;
System.out.println("What is your first value?");
mylist = bob.nextDouble();
System.out.println("What is your second value?");
mylist = bob.nextDouble();
}
}
问题#1:我被告知mylist = bob.nextDouble()
应该是nextLine()
。如果它显然是双重的话为什么呢?
目标:我想以某种方式将这些值存储到一个数组中,以便以后可以将它们拉出来。有人可以帮忙吗?
更新
对于问题#1,它告诉我它无法从Double()
转换为Double[]
。这是什么意思?
答案 0 :(得分:5)
错误是因为您尝试在以下语句中为数组指定double值:
mylist = bob.nextDouble();
因为mylist在这里被定义为一个数组:
double[] mylist;
首先,您需要初始化您的数组:
double[] mylist = new double[2]; // initialise array to have two elements
然后尝试使用用户输入分配数组元素,如下所示:
mylist[0] = bob.nextDouble();
mylist[1] = bob.nextDouble();
答案 1 :(得分:3)
它是一个数组(它是一种对象)。首先,创建一个足以存储double
(不是int
(s))的数组。并将值存储在适当的索引处。像,
Scanner bob = new Scanner(System.in);
double[] mylist = new double[2];
System.out.println("What is your first value?");
mylist[0] = bob.nextDouble();
System.out.println("What is your second value?");
mylist[1] = bob.nextDouble();
System.out.println(Arrays.toString(mylist));
答案 2 :(得分:3)
数组不是double,您需要选择索引:
double[] arr = new double[2];
System.out.println("What is your first value?");
arr[0] = bob.nextDouble();
System.out.println("What is your second value?");
arr[1] = bob.nextDouble();
另外,不要将数组称为列表,使用CamelCase命名 变量/方法/类,并初始化数组。我建议您阅读Java教程,了解该语言的基础知识。
答案 3 :(得分:3)
mylist
是array
双打,而不是double
。
执行mylist = bob.nextDouble();
时,您基本上试图使整个数组等于一个数字。
您需要将数字指定给数组中的特定位置。
使用要存储在数组中的元素数量初始化数组:
double[] mylist = new double[2];
将double分配给数组中的特定位置:
mylist[0] = bob.nextDouble();
mylist[1] = bob.nextDouble();
答案 4 :(得分:0)
更好的是,使用带有泛型的列表。
List<Double> myList;
myList.add(bob.nextDouble());
这样,你可以在列表中添加任意多个双打。所以你不必担心索引。