如何让代码继续提示用户下一个号码?

时间:2016-02-13 13:43:47

标签: java

我正在处理的问题是

  

"写入是一个倍数,它确定一对整数是否为   第二个整数是第一个的倍数。该方法将需要2   整数参数,如果第二个是的倍数,则返回true   首先是假的。 [提示:使用余数运算符]。   将此方法合并到输入一系列的应用程序中   成对的对(每次1对)并确定是否为第二个   每对中的值是第一个的倍数。"

现在,我编写的程序有点有效,但我似乎无法让它继续下去。当按下0时它应该停止,但它不会越过第一个整数。

当我改变时,我确实让它运行了一个周期(第一个!= 0); to while(first == 0);.

我只是遗漏了一些东西还是完全错了?任何信息都会有所帮助。

这是我的代码

import java.util.Scanner;

public class Multiples 
{
    public static void main(String[] args) 
    {
        System.out.println("Len Rogers - Programming Assignment 4\n");

        Scanner input = new Scanner( System.in );

        int first; // first number
        int second; // second number

        System.out.print( "Enter first number (0 to exit): " );
        first = input.nextInt();

        // set 0 as the sentinel value, since we cannot divide by 0
        while (first != 0);
        {

            System.out.print("Enter second number: " );
            second = input.nextInt();

            if ( ismultiple(first,  second ) )
                System.out.printf( "true\n\n", second, first );
            else
                System.out.printf( "false\n\n" , second, first );

            System.out.print( "Enter first number (0 to exit): " );
            first = input.nextInt();
         } // end while loop
    } // end main

    // determin if the firest integer is a multiple of the second
    public static boolean ismultiple( int firstNumber, int secondNumber )
    {
        return secondNumber % firstNumber == 0;
    } // end method multiple
} // end class Multiples

1 个答案:

答案 0 :(得分:0)

我认为

do {

} while( first != 0 )

是您正在寻找的循环,因为它可以防止您需要单独的代码来读取第一个输入

如果您使用readline,那么请检查您的阅读内容可以转换为int,否则退出您应该能够得到您想要的内容。