使用单个扫描仪输入在Java中分配两个变量

时间:2013-05-10 18:21:28

标签: java arraylist java.util.scanner

我正在尝试创建一种方法来搜索arraylist以查找用户输入的学生编号(sNumber),然后使用相同的输入获取indexOf,以便它可以从其他arraylists中提取数据。我遇到的问题是我无法弄清楚如何使用用户的单个输入来完成此操作。现在它要工作,他们必须两次输入sNumber。

while (exit == 0){
            System.out.println("Please enter the sNumber of the student you wish to find");
            Boolean x = sNumber.contains(kb.nextInt());
            int y = sNumber.indexOf(kb.nextInt());

            if (x = true){
                String a = name.get(y);                        
                int c = sNumber.get(y);
                String d = major.get(y);
                Double e = gpa.get(y);

                System.out.println(a);                        
                System.out.println(c);
                System.out.println(d);
                System.out.println(e);
             }
            else if (x = false){
                System.out.println("This student does not exist");

1 个答案:

答案 0 :(得分:0)

假设两个kb.nextInt()返回相同的值,为什么不先将它分配给变量,然后在程序中使用它。

Boolean x = sNumber.contains(kb.nextInt());
int y = sNumber.indexOf(kb.nextInt());

会变成

int tmp = kb.nextInt();
Boolean x = sNumber.contains(tmp);
int y = sNumber.indexOf(tmp);