Моя домашнее задание Проектировать класс с именем MyInteger со следующими условиями:Дизайн класс, который говорит, является ли число простым или не
поле ИНТ данных с именем значение, которое хранит Int значение целого числа ,
Конструктор, который создает объект MyInteger для указанного значения int.
Метод get, возвращающий значение int.
Метод isPrime(), который возвращает true, если значение является простым числом. См. Раздел 4.10 текста для Java-кода, который обнаруживает простые числа (это может различаться в зависимости от имеющейся у вас версии). \
Статический isPrime (MyInteger), который возвращает true, если это значение является простым числом. Обратите внимание, что этот метод принимает в качестве параметра ссылочную переменную объекта (а не значение).
Мои проблемы возникают в статическом методе булевой IsPrime, заявив, что «/» и «%» не определено для типа arguement и основной метод в моем случае утверждение: IsPrime() == верно. Он говорит, чтобы изменить его на static, но у меня уже есть статический логический метод isPrime, и я должен иметь два метода isPrime в соответствии с моими условиями. Спасибо, если вы в состоянии помочь.
public class MyInteger {
public MyInteger(int value){
}
public static int getValue(){
int value = 997;
return value;
}
public boolean isPrime(){
int value = 997;
for (int i=2; i<=value/2; i++){
if(value % i == 0) {
return false;
}
}
return true;
}
public static boolean isPrime(MyInteger value){
for(int i=2; i<=value/2; i++){
if(value%i == 0){
return false;
}
}
return true;
}
public static void main(String[] args) {
MyInteger value = new MyInteger(MyInteger.getValue());
if (isPrime()==true && isPrime(value)==true){
System.out.println("Testiwng Instance method, is Prime");
System.out.println("isPrime: " + value + " is prime");
System.out.println("--------------------------------");
System.out.println("Testing Class method (That takes a reference variable) is Prime");
System.out.println("isPrime: " + value + " is prime");
}
else{
System.out.println("Testiwng Instance method, is Prime");
System.out.println("isPrime: " + value + " is not prime");
System.out.println("--------------------------------");
System.out.println("Testing Class method (That takes a reference variable) is Prime");
System.out.println("isPrime: " + value + " is not prime");
}
}
}
Какой вызов 'isPrime()' в 'main()' вызван? 'static' методы не имеют экземпляра ... – Arkadiy
Если ваш номер не делится на 2, вам нужно проверить, делится ли он на 4?Потенциальная оптимизация заключается в том, чтобы использовать сито Eratosthenes для вычисления простых чисел меньше квадрата (значение), а затем проверки остатков преформы против этого списка. – Andreas