Ввести с клавиатуры три целых числа. Вывести на экран количество положительных чисел среди этих трех

161
11 января 2020, 03:10

Задание:

Положительное число Ввести с клавиатуры три целых числа. Вывести на экран количество положительных чисел среди этих трех.

Примеры:

  1. при вводе чисел -4 6 6 получим вывод 2
  2. при вводе чисел -6 -6 -3 получим вывод 0 в) при вводе чисел 0 1 2 получим вывод 2

Требования:

  1. Программа должна считывать числа c клавиатуры.
  2. Программа должна выводить число на экран.
  3. Программа должна выводить количество положительных чисел в исходном наборе.
  4. Если положительных чисел нет, программа должна вывести "0".
  5. Учти, что "0" не относится ни к положительным, ни к отрицательным числам.

Мое решение (как мне кажется правильное):

   public static int proverka(int n) {
      int x = 0;
      while (n > 0) {
         x = 1;
      }
      return x;
   }
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      int a = sc.nextInt();
      int b = sc.nextInt();
      int c = sc.nextInt();
      sc.close();
      System.out.println(proverka(a) + proverka(b) + proverka(c));
   }
}

Вопрос: почему не работает, я уже второй день не могу понять в чем дело, почему я ввожу три числа а он не выводит количество положительных чисел?

Answer 1
public class Main {
    public static void main(String[] args) {
        int counter = 0;
        Scanner input = new Scanner(System.in); // Объявляем Scanner
        System.out.println("Enter array length: ");
        int size = input.nextInt(); // Читаем с клавиатуры размер массива и записываем в size
        int array[] = new int[size]; // Создаём массив int размером в size
        System.out.println("Insert array elements:");
        /*Пройдёмся по всему массиву, заполняя его*/
        for (int i = 0; i < size; i++) {
            array[i] = input.nextInt(); // Заполняем массив элементами, введёнными с клавиатуры
        }
        for (int i = 0; i < size; i++) { // находим положительные элементы
            if (array[i]>0){             // при нахождении увеличивает счетчик
                counter++;
            }
        }
        System.out.print ("Number of positive elements elements: " + counter);
        System.out.println();
    }
}
READ ALSO
Ничего не отображается во Frame. Swing

Ничего не отображается во Frame. Swing

Переместите framesetVisible(true); в последнюю строку метода

176
Выбор типа DataSource

Выбор типа DataSource

Я хочу получить JSON с большим количеством данных и реализовать в приложении отображение этих данных с пагинациейСервер не принимает никаких...

173
XMLPullParser обрезает последний элемент

XMLPullParser обрезает последний элемент

Есть следующий рабочий код:

141
Пересекаются ли прямоугольники?

Пересекаются ли прямоугольники?

Первая строка входных данных содержит четыре целых числа

189