2013-05-10 66 views
0

我试图创建一个方法来搜索用户输入的学号(sNumber)的ArrayList,然后用相同的输入得到indexOf,以便它可以从其他数据列表中提取数据。我遇到的问题是我无法弄清楚如何使用用户的单个输入来完成此操作。现在为了工作,他们必须输入两次sNumber。使用单个扫描器输入来分配Java中的两个变量

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"); 
+2

'(X =真)'是指派TRUE;为'x',然后取'x'的值用于'if'。布尔值使用'=='或者只是'x'。 – 2013-05-10 18:24:28

回答

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); 
+0

正是我想要做的,谢谢! – user2334774 2013-05-10 18:33:05

+0

如果有效,请确保[接受](http://meta.stackexchange.com/a/5235/204175)答案。 – FDinoff 2013-05-10 18:35:59