循环退出条件的问题?
issue with exit condition of loop?
我正在尝试使用 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)
对您没有帮助,因为
substring(int beginIndex)
Returns a new string that is a substring of
this string. The substring begins with the character at the specified
index and extends to the end of this string.
您可以直接在输入中使用 startsWith 方法,如此处所述
while(!input.startsWith("1"))
您没有更新 termsIn,这是您终止条件的一部分。
此外,您可以通过在 do-while 之外创建一个循环来显示 Arraylist 中的所有元素,该循环打印出 arraylist 中的所有元素。我会看一下 Arraylist 上的 javadoc。
我正在尝试使用 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)
对您没有帮助,因为
substring(int beginIndex)
Returns a new string that is a substring of this string. The substring begins with the character at the specified index and extends to the end of this string.
您可以直接在输入中使用 startsWith 方法,如此处所述
while(!input.startsWith("1"))
您没有更新 termsIn,这是您终止条件的一部分。
此外,您可以通过在 do-while 之外创建一个循环来显示 Arraylist 中的所有元素,该循环打印出 arraylist 中的所有元素。我会看一下 Arraylist 上的 javadoc。