0

嗨,提前对我的错误代码感到抱歉,哈哈。我试图让我的代码向前和向后读出我在键盘上输入的内容(只有一个短语),但是我尝试的每一种不同的方法都会出错。

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 循环和 String 之类的东西有关;s = kb.next(); 但是我尝试的一切都不断出现无限循环和其他错误。有任何想法吗?

4

2 回答 2

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);
}
于 2013-10-25T14:55:25.440 回答
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”

于 2013-10-25T14:57:15.527 回答