我填充了Arraylist<Integer>
的回文数字。然后,我通过其get()
方法从列表中检索用户指定的元素,并打印该数字。我正在尝试使用while
循环来允许用户选择多个元素,直到他输入&#34; 0&#34;,而是在第一次选择后退出程序。我怎么能重复它?
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;
}
答案 0 :(得分:3)
你的循环测试应该是while
它不等于零。此外,您需要再次获得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);