Ради интереса я хотел посмотреть, смогу ли я использовать код для отображения двойных простых чисел в качестве практики для изучения конструкторов.Я хоть и использовал хорошую логику, но по какой-то причине не смог заставить ее работать.
Эта программа предназначена для печати всех двойных простых чисел (простых чисел с 1 пробелом между ними) до заданного числа, введенного пользователем.
package X;
import java.io.*;
import java.util.*;
class TwinPrimeWithConstructor {
int limit;
public void Twin() {
limit = 0;
}
public static void input() {
Scanner input = new Scanner(System.in);
System.out.println("Enter Limit");
int limit = input.nextInt();
}
public void display() {
for (int k = 1; k <= (limit - 2); k++) {
int a = prime(k);
int b = prime(k + 2);
if (a == 1 && b == 1) {
System.out.println(k + "," + k + 2);
}
}
}
public int prime(int n) {
int c = 0;
int d = 0;
for (int i = 1; i <= n; i++) {
if (n % i == 0) {
c = c + 1;
}
}
if (c == 2) {
d = 1;
return d;
} else {
return d;
}
}
void main() {
TwinPrimeWithConstructor ob = new TwinPrimeWithConstructor();
ob.input();
ob.display();
}
}
Эта программа умеет правильно определять простые числа и запрашиваетдля ввода, но не дает никакого вывода.Может кто-нибудь дать мне понять?Я все еще изучаю Java, поэтому любая помощь будет оценена.Кроме того, так как я новичок, если вы обнаружите какие-либо вредные привычки в моем коде, пожалуйста, не стесняйтесь сказать мне, чтобы я мог стать лучшим программистом.