Вопрос
Напишите метод 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;
}
}
Я хочу сломать время, когда ввести «н», но это перерыв, независимо от того, что я вхожу.
Есть более чем одна ошибка. Посмотрите на 'while (run = true)' и 'if (result = true)'. Оператор '=' является * присваиванием *. То, что вы, скорее всего, захотите сделать, это сравнить, т. Е. Использовать '=='. Но легче написать 'while (run)' и 'if (result)', чтобы избежать таких ошибок. Основная проблема заключается в сравнении 'String', используя' == 'вместо' equals', но говоря «else return true», когда вход не является ни «n», ни «y», он еще хуже. И, не пишите 'if (condition) return true; else return false; 'as' return condition; 'намного яснее. – Holger