无法使我的扫描仪与ArrayList一起使用

时间:2013-10-25 14:50:58

标签: java arraylist java.util.scanner

我很抱歉我的坏代码哈哈。我试图让我的代码读出我在键盘上键入的内容(只有一个短语)向前然后向后但是我一直在尝试每种不同的方法出错。

import java.util.ArrayList;  
import java.util.Scanner;  
class hw  
{  
  public static void main(String[] args)
 {  
  Scanner kb = new Scanner(System.in);  
  ArrayList<String> sal = new ArrayList<String>();  
  sal.add(kb.next());
  sal.add(kb.next());
  sal.add(kb.next());
  display(sal);  
  displayb(sal);  


}
  public static void display(ArrayList<String> sal)
{
   for (int i=0; i<sal.size(); i++)
        System.out.print(sal.get(i)+ " ");
   System.out.println();
}
 public static void displayb(ArrayList<String> sal)
{

   for (int z = sal.size(); z >= 1; z--)
        System.out.print(sal.get(z-1) + " ");
   System.out.println();
}
}

我知道这与使用while循环之类的东西有关     字符串s;     s = kb.next(); 但我一直在尝试无限循环和其他错误。有任何想法吗?

2 个答案:

答案 0 :(得分:0)

对于使用while循环的简单常量添加,您需要某种类型的终止条件:

int i = 0;
while (i < 5) {
    sal.add(kb.next());
    i++;
}

/* or */

String last = "";
while (!last.equals("end")) {
    last = kb.next();
    sal.add(last);
}

答案 1 :(得分:0)

我很确定代码没问题,但您需要进行以下更改。

Scanner kb = new Scanner(System.in);  
  ArrayList<String> sal = new ArrayList<String>();  
  sal.add(kb.next());
  sal.add(kb.next());
  **Sal.add(kb.next());**

这里用“sal”替换“Sal”