输入变量可以依赖另一个变量

时间:2014-11-10 22:26:23

标签: java

我刚开始用Java编程,我遇到了一个小问题..

我希望用户输入一个我只是用扫描仪做的号码

int s = sc.nextInt();

但是如果我想在之后创建一个输入变量,它会要求用户输入变量" s"具有

例如:s = 3 并且用户需要输入3个以上的变量

s1=?
s2=?
s3=?

2 个答案:

答案 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)