我刚开始用Java编程,我遇到了一个小问题..
我希望用户输入一个我只是用扫描仪做的号码
int s = sc.nextInt();
但是如果我想在之后创建一个输入变量,它会要求用户输入变量" s"具有
例如:s = 3 并且用户需要输入3个以上的变量
s1=?
s2=?
s3=?
答案 0 :(得分:0)
您需要一个数组或更动态的数据结构。在您的情况下,如果您询问“要输入多少个值”,则可以执行此操作:
printf("How many values?%n");
int count = sc.nextInt();
int s[] = new int[count];
for (int n = 0; n < s.length; n++) {
printf("enter s" + n + "%n");
s[n] = sc.nextInt()
}
但是这对于使用数组来说已经很老了。更动态的解决方案如下:
List<Integer> s = new ArrayList<Integer>();
while (true) {
printf("Enter Number or -1 to finish.%n");
int num = sc.nextInt();
if (num < 0) break;
s.add(Integer.valueOf(num));
}
答案 1 :(得分:0)
s = sc.nextInt(); // Gets your input
// If you don't want to use ArrayList use following:
int ss[] = new int[s]; // This uses arrays
// If you want Lists, use the following:
List<int> mylist = new ArrayList<int>(); // If you want a list of your integers (flexible)
for (int i = 0; i<s; i++){
int st = sc.nextInt();
mylist.add(new Integer(st)); // if you are interested only in Lists
//ss[i] = sc.nextInt(); // if you are interested only in arrays
}
这适合你吗?您可以选择使用其中任何一个(相应地注释掉:D)