Вот мой код, он, кажется, не выполняет код, когда n> 0 sout.you введено положительное число, Или я думаю, что я делаю это неправильно?Java Ряд числа циклов
import java.util.Scanner;
class speed {
public static void main(String[] args) {
Scanner x = new Scanner(System.in);
int num;
int neg = 0, count = 0, pos = 0;
System.out.println("Enter any number to continue. Enter 0 to stop : ");
num = x.nextInt();
if(num==0){
System.out.print("You immediately stop");
System.exit(0);
}
while (num != 0) {
count ++;
if (num > 0) {
pos ++;
}
if (num < 0) {
neg ++;
}
num = x.nextInt();
if(count==1){
}
}
if(count == 1 && num > 0) {
System.out.print("You entered a positive number");
if(count ==1 && num < 0) {
System.out.print("You entered a negative number"); // this code is not performing why?
}
System.exit(0);
}
System.out.printf("You Entered %d numbers\n",count);
System.out.printf("%d positive \n",pos);
System.out.printf("%d negative\n",neg);
}
}
Вот выход, который у меня есть, что является правильным.
My output
Enter a number to continue. Enter 0 to stop :
5
6
-8
0 // doesn't count as a number.
You entered 3 numbers.
2 positive
1 negative
НО В этой проблеме я хочу, чтобы результат был другим, если пользователь набрал только 1 номер.
What i want the output to be >
Enter a number to continue. Enter 0 to stop :
2
0
You Entered a positive number. // same with a negative number?
Вы проверяете, есть ли 'num <0' внутри if-блока, который проверяет, есть ли' num> 0'. 'num' не может быть как положительным, так и отрицательным. – azurefrog
0 является положительным, поэтому для этого нужно считать num> -1 –
@NoorNawaz. Он работает для положительного числа, но когда я вводил -2 и 0, он все равно дает мне «вы ввели положительное число», почему это? – Jake