我正在尝试使用while条件,如果用户输入第一个字符为数字1的字符串,则循环应结束。但是,就我而言,循环永远不会结束。我可能做错了什么?
public static void main(String[] args) {
ArrayList<Integer> instructions = new ArrayList<Integer>();
Scanner keyboard = new Scanner(System.in);
String input = "";
String termIns = input.substring(0);
// int termInsInt= Integer.parseInt(termIns);
do {
input = keyboard.nextLine();
int inputInt = Integer.parseInt(input);
instructions.add(inputInt);
//String termIns = input.substring(0);
} while(!termIns.equals("1"));
另外,什么将显示ArrayList中所有元素的列表?
最佳答案
您需要在循环的每次迭代中使用用户输入来更新termIns
:
do {
input = keyboard.nextLine();
int inputInt = Integer.parseInt(input);
instructions.add(inputInt);
termIns = input.substring(0);
} while(!termIns.equals("1"));
同样,
substring(0)
并不能帮助您子串(int beginIndex)
返回一个新字符串,该字符串是的子字符串
这个字符串。子字符串以指定字符开始
索引并扩展到此字符串的末尾。
您可以直接在输入上使用startsWith方法,如此处所述
while(!input.startsWith("1"))