Java Can';我不能让我的扫描仪与ArrayList一起工作

Java Can';我不能让我的扫描仪与ArrayList一起工作,java,arraylist,java.util.scanner,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<Stri

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

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();
}
}
import java.util.ArrayList;
导入java.util.Scanner;
hw类
{  
公共静态void main(字符串[]args)
{  
扫描仪kb=新扫描仪(System.in);
ArrayList sal=新的ArrayList();
sal.add(kb.next());
sal.add(kb.next());
sal.add(kb.next());
显示器(sal);
b(sal);
}
公共静态无效显示(ArrayList sal)
{
对于(int i=0;i=1;z--)
系统输出打印(sal.get(z-1)+”);
System.out.println();
}
}
我知道这与使用while循环之类的东西有关 字符串s; s=kb.next();
但无论我做什么,都会遇到无限循环和其他错误。有什么想法吗

对于使用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);
}
inti=0;
而(i<5){
sal.add(kb.next());
i++;
}
/*或*/
字符串last=“”;
而(!last.equals(“end”)){
last=kb.next();
添加(最后一个);
}

我非常确定代码是正确的,但您需要进行以下更改

Scanner kb = new Scanner(System.in);  
  ArrayList<String> sal = new ArrayList<String>();  
  sal.add(kb.next());
  sal.add(kb.next());
  **Sal.add(kb.next());**
Scanner kb=新的扫描仪(System.in);
ArrayList sal=新的ArrayList();
sal.add(kb.next());
sal.add(kb.next());
**Sal.add(kb.next())**

这里将“Sal”替换为“Sal”

您以前在代码中的什么地方遇到问题的,可以显示出来吗?第11行的编译错误
Sal.add(kb.next())。请检查。这并不是一个问题,因为每次我尝试使用while循环时,它要么没有显示任何内容,要么遇到无限循环。我很确定我的问题在于我不需要while循环而不是sal.add,但我不知道那会是什么。如果您愿意,我仍然可以发布我尝试过的内容。第二个将在
sal
中添加
“end”
。这很正确,但更多的是关于终止,而不是arraylist(例如:)我对此感到厌倦,它返回了一个空行。它没有进入输入part@Dukeling我记不清了,但这给我今年夏天早些时候教的一门课带来了问题。我想这更像是个人的事情,我把它删除了。@user2920249当你的代码没有进入while循环时是什么样子的?呜呜。那只是我犯的一个小错误。代码仍然不起作用