我填充了 Arraylist<Integer>
与回文数。然后,我通过其 get()
从列表中检索用户指定的元素方法,并打印该数字。我正在尝试使用 while
循环允许用户选择多个元素,直到输入“0”,但程序在第一次选择后退出。我怎样才能让它重复?
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
ArrayList<Integer> str = new ArrayList<Integer>();
for (int i = 1; i <= 1000; i++) {
int a = i;
int b = inverse(a);
if (a == b) {
str.add(a);
}
}
int num = cin.nextInt();
do {
int getnum = str.get(num - 1);
System.out.println(getnum);
}
while(num == 0);
}
public static int inverse(int x) {
int inv = 0;
while (x > 0) {
inv = inv * 10 + x % 10;
x = x / 10;
}
return inv;
}
最佳答案
你的循环测试可能应该是while
它不等于0。另外,您需要再次获取num
。
// int num = cin.nextInt();
int num;
do{
num = cin.nextInt();
System.out.println("num is " + num);
if (num > 0 && num <= str.size()) {
System.out.println(str.get(num - 1));
}
} while(num != 0);
关于java - 当 nextInt 等于 0 时如何终止程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27159543/