我的do while循环出现问题,因为在输入STOP时它不会结束。此外,我不确定是否需要添加任何异常或不添加异常。我知道doString会更有效,但是在提取输出时,程序的要求是for循环。
import java.util.*;
import java.util.ArrayList;
import java.lang.IndexOutOfBoundsException;
public class MyProj
{
public static void main(String[] args)
{
ArrayList <String> MyItems = new ArrayList <String>();
Scanner Scan = new Scanner(System.in);
String Temp;
System.out.println("Please enter the name of an object, repeat as needed, type STOP to end");
do
{
Temp = Scan.nextLine();
if(Temp != "STOP")
{
MyItems.add(Temp);
}
}
while(Temp == "STOP");
for(int x = 0; x <= MyItems.size() - 1; x++)
{
System.out.println(MyItems.get(x));
}
}
}
答案 0 :(得分:1)
试试这段代码:
do
{
Temp = Scan.nextLine();
if(!Temp.equals("STOP"))
{
MyItems.add(Temp);
}
}
while(!Temp.equals("STOP"));
我建议您将其更改为@ {3kings建议的equalsIgnoreCase()
。