java - 当 nextInt 等于 0 时如何终止程序?

标签 java arraylist

我填充了 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/

相关文章:

java - ArrayList add() 方法不起作用。无法添加另一个值并将其添加到 jTable

java - 加载数据时显示 ProgressDialog 并返回 View

java - 反向打印用户输入

java - 当我尝试更新一行时,Android ListView 抛出 CurrentModificationException

java - 如何使用 for 每个循环访问另一个类中的 ArrayList

java - 在排序数组列表中添加标签

java - 如何在 java 中将属性添加到顶点属性?

java - Jar 不在 linux 上执行

java - 我需要一些关于这些公式实现的帮助

java - 通过用户名从数组列表中删除用户