Я как бы новичок на Java и не очень хорошо разбираюсь в этом. Это процесс проб и ошибок для меня.Выходное количество простых чисел в массиве
Я работаю над программой Java для вывода количества простых чисел в массиве. Я могу получить его для вывода простых чисел, но я хочу также выводить количество простых чисел. Я попытался добавить каждый штрих в список массивов под названием «primes», а затем вернуть «primes.size()» в конце моей программы. Он не работает должным образом. Счет фактически выключен. Когда я создаю массив из 5 чисел, он выводит 3 простых числа, 2, 3 и 5. Но тогда он говорит, что у меня 4 простых числа. Я думаю, что это может считаться 1 как премьер. Потому что, когда я создаю массив из 20, выходные числа простых чисел 2,3,5,7,11,13,17 и 19. Тогда он говорит, что общие простые числа = 9. Это должно быть 8.
Вот мой код
public class Prime {
public static void main(String[] args) {
int index = 0;
Scanner scan = new Scanner(System. in);
System.out.println("How big would you like the array? ");
int num = scan.nextInt();
int[] array = new int[num];
ArrayList <Integer> primes = new ArrayList <Integer>();
//System.out.println("How Many threads? ");
//int nThreads = scan.nextInt(); // Create variable 'n' to handle whatever integer the user specifies. nextInt() is used for the scanner to expect and Int.
//Thread[] thread = new Thread[nThreads];
for (int n = 1; n <= array.length; n++) {
boolean prime = true;
for (int j = 2; j < n; j++) {
if (n % j == 0) {
prime = false;
break;
}
}
if (prime) {
primes.add(n);
}
if (prime && n != 1) {
System.out.println(n + "");
}
}
System.out.println("Total Prime numbers = " + primes.size());
System.out.println("Prime Numbers within " + array.length);
}
}
Прости небрежность его. Я на самом деле планирую добавить к нему многопоточность, но сначала хочу это сделать.
Любая помощь была бы принята с благодарностью. Благодарю.
Зачем делать различие между решением * печати * числа как простого и * добавления * его в основной список? Они должны быть одно и то же. Вы исключаете 1 из печати, но не добавляете. – Durandal
Если вы новичок в Java, могу ли я предложить вам не пытаться думать о многопоточности? Оставьте это, пока у вас не будет абсолютно приглушенных основ, а затем и некоторых. –
Одностороннее примечание - вам не нужна переменная 'array', поскольку вы используете только ее длину и не сохраняете в ней никаких значений. Просто удалите его и используйте 'num' вместо' array.length'. – xersiee