java - 在 Java 中用字符串重复整个循环很困难

标签 java

我是编程新手,我开始练习 Java。在我的练习中,我要求编写一个程序来计算并打印出数字的数字之和。然后它打印出和数的所有除数。

问题是,在那之后,我需要询问用户是否想尝试另一个号码,当用户回答"is"时,我无法重新启动程序。谢谢你,对不起我的英语!

//Introduction
        System.out.println("\nWelcome to our Calculation Program!\n----------------------------------------");



        System.out.print("Enter a number with at most 7-digits:");
        int input = mykeyboard.nextInt();
        int sum = 0;


        while (input > 0) {
            int add = input % 10;
            sum = sum + add;
            input = input / 10;


        }
        System.out.println("Sum of the digits of your input is: " + sum);
        System.out.print("The divisors of " + sum + " are as follows: " );
        for (int counter = 1; sum >= counter; counter++) {
            if (sum % counter == 0)
        System.out.print(counter + " ");





    } 

        System.out.println("\n\nDo you want to try another number?");
        Scanner mykeyboard2 = new Scanner(System.in);
        String choice = mykeyboard2.nextLine();

        if (choice.equals("yes")) {
            System.out.println("Enter a number with a most 7-digits:");

            while (input > 0);
                int add = input % 10;
                sum = sum + add;
                input = input / 10;

                System.out.println("Sum of the digits of your input is: " + sum);
                System.out.print("The divisors of " + sum + " are as follows: " );
                for (int counter = 1; sum >= counter; counter++)
                    if (sum % counter == 0)
                        System.out.print(counter + " ");

} if (choice.equals("no")) {

System.out.println("Thanks and Have a Great Day!");

最佳答案

您只需完成循环即可重新启动

        System.out.print("Enter a number with at most 7-digits:");
    int input = mykeyboard.nextInt();
    while(input != -1){
    int sum = 0;
        int add = input % 10;
        sum = sum + add;
        input = input / 10;



    System.out.println("Sum of the digits of your input is: " + sum);
    System.out.print("The divisors of " + sum + " are as follows: " );
    for (int counter = 1; sum >= counter; counter++) {
        if (sum % counter == 0)
    System.out.print(counter + " ");
    System.out.print("Do you want another number? If you dont type -1: ");
    input = mykeyboard.nextInt();
    }

代码将继续执行,直到用户输入 -1

关于java - 在 Java 中用字符串重复整个循环很困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52693003/

相关文章:

java - Bluej 上的打印输出问题

java - 在 Netbeans 8 中运行时,即使将其 jar 放在 Tomcat home/lib 文件夹中,也找不到 JDBC 驱动程序

java - 如何从 POJO 获取 Java EE 6 应用程序中的上下文根目录?

java - 在 php 中创建 Java 日期时出错

java - 如何在java中对另一个 map 中的一组 map 进行排序?

java - 尝试将对象从固定起点移动到鼠标单击的坐标

java - 处理 Set<Foo> 的元素并使用流创建 Set<Bar>

java - 如何使用@Value 将属性值注入(inject)静态字段

java - 无法通过 xpath 找到要选择的元素

java - 具有多个 SQL 语句的 MySQL 连接器