继续执行程序

时间:2016-05-10 12:23:46

标签: java

我制作了一个程序,要求用户输入5位数,然后程序找到这些数字的总和。 我想知道如何在计算一次后让程序一次又一次地询问一个数字。 我希望用户再次尝试n,直到他自己想要退出。

 public static void main(String[] args) {

    int num=1362;
    int i,t=0;
    int store;

    for(i=0; i<=5; i++)
    {

        store=num%10;
        num=num/10;
        t=t+store;

    }

    System.out.println("The sum of the digits of 1362 is " +t);
}

2 个答案:

答案 0 :(得分:1)

在用户写入不是数字的内容之前,执行将继续。

public static void main(String[] args) {
    int num=1362;
    int i,t=0;
    int store;
    Scanner in = new Scanner(System.in);
    while(in.hasNextInt())
    {
       t = 0;
       store = 0;
       num = in.nextInt();
       for(i=0; i<=5; i++)
       {
          store=num%10;
          num=num/10;
          t=t+store;
       }
       System.out.println("The sum of the digits is " +t);
    }
    in.close();
}

答案 1 :(得分:1)

我的解决方案: 用户输入5个数字,然后计算总和,并询问用户是否要重复它(无异常处理)。

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String repeat = "";
do {
    try {
        int[] digits = new int[5];
        System.out.println("Enter 5 digits: ");

        for (int i = 0; i < digits.length; i++) {
            System.out.printf("Digit %d:", i + 1);
            String input = br.readLine();
            digits[i] = Integer.parseInt(input);
        }

        int sum = 0;
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < digits.length; i++) {
            sum += digits[i];
            sb.append(digits[i]);
        }

        System.out.printf("The sum of the digits of %s is %d.", sb.toString(), sum);
        System.out.println("Repeat? (y/n)");
        repeat = br.readLine();

    } catch (NumberFormatException e) {
        // TODO: handle wrong user input
    } catch (IOException e) {
        // TODO: handle io exception
    }
} while (repeat.equals("y"));

try {
    br.close();
} catch (IOException e) {
    // TODO: handle IOException
}