0
Это код для печати №. простых чисел из набора чисел, введенных программой пользователя, останавливается при вводе 0. Счетчик переменных не обновляется, а результат остается 0. Как обновить значение счетчика?Как изменить переменную счетчика после ее изменения?
class Prog4 {
public static void main(String a[]){
int c=0;
//int[] array=new int[10];
int counter=0;
Scanner b=new Scanner(System.in);
System.out.println("Enter the numbers");
c=b.nextInt();
while(c!=0){
boolean y=false;
for(int j=2;j<c;j++){
if(c%j==0)
y=true;
}
if(y=false){
counter++;
//array[counter-1]=c;
}
c=b.nextInt();
}
System.out.println("No. of prime numbers entered :" + counter);
//System.out.println("The prime numbers are : ");
//for(int x:array)
//System.out.println(x);
}
}
'y == false', а не' y = false'. Первое - это сравнение, последнее - задание. Поскольку вы 'y' false после' y = false', условие не запускается. Однако не используйте 'if (y == false)' либо, используйте 'if (! Y)', что позволяет избежать случайного назначения. –
bcz Ваше состояние в то время как (c! = 0), и поэтому он не входит в цикл и, следовательно, ecounter не обновляется – mhasan
... и именно по этой причине постоянное выражение должно оставаться на левой стороне при сравнении значений ('if (false == value)'), даже в Java. – Turing85