我正在处理的问题是
"写入是一个倍数,它确定一对整数是否为 第二个整数是第一个的倍数。该方法将需要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
答案 0 :(得分:0)
我认为
do {
} while( first != 0 )
是您正在寻找的循环,因为它可以防止您需要单独的代码来读取第一个输入
如果您使用readline,那么请检查您的阅读内容可以转换为int,否则退出您应该能够得到您想要的内容。