问题是
编写一个方法isMultiple,它确定了一对整数是否第二个整数是第一个整数的倍数。该方法应该使用两个整数参数,如果第二个是第一个的整数倍,则返回true,否则返回false。
[提示:使用余运算符。]将这一方法为,其输入的一系列对的整数的(一对在一个时间),并确定在每对中的第二值是否是的first.har()
编写一个方法isMultiple确定
这里是我的代码
import java.util.*;
public class Multiples {
public static void main(String [] args){
boolean run = true;
while(run = true){
System.out.print("Enter one number:");
Scanner input = new Scanner(System.in);
int num1 = input.nextInt();
int num2 = input.nextInt();
System.out.println("Do you want to enter another pair(y/n)?");
String a = input.next();
boolean result = isMultiple(num1, num2);
if(result = true){
System.out.println(num1 + " is a multiple of " + num2);
}
else{
System.out.println(num1 + " is not a multiple of " + num2);
}
if(YesOrNo(a)){
break;
}
}
}
public static boolean YesOrNo(String a){
if(a == "y")
return false;
else if(a == "n")
return true;
else
return true;
}
public static boolean isMultiple (int x , int y)
{
if(x % y == 0 || y % x == 0)
return true;
else
return false;
}
}
我想休息的时候输入“N”,但它打破不管我进入时。因为这
有超过一个错误。看看'while(run = true)'和'if(result = true)'。 '='运算符是一个*赋值*。你最想做的就是比较,即使用'=='。但是编写'while(run)'和'if(result)'来避免这种错误更容易。你的主要问题是使用'=='而不是'equals'进行字符串比较,但是当输入既不是“n”也不是“”y“使情况变得更糟时,”else返回true“。并且,不要写'if(condition)return true;否则返回false;'作为返回条件;'更清晰。 – Holger 2014-10-01 22:41:30