問題是
編寫一個方法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