Печать кратных значений между положительным целым числом и максимальным положительным целым числом - PullRequest
0 голосов
/ 05 октября 2019

Для этой программы я пытаюсь напечатать кратные числа от "n" до "max". У меня проблемы с тем, как сделать правильный цикл, который печатает эти числа.

Пример ввода:

n = 3 max = 20

Пример вывода:

3

6

9

12

15

18

public class Average {
    public static void printMultiples(int n, int max) {

        while (n<=max) {
        for (int i=1;;i++) {
            System.out.println(n*i);
        }
    }

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.println("Enter a positive integer:")
        int n = s.nextInt();
        System.out.println("Enter a maximum positive integer:")
        int max = s.nextInt();
        printMultiples(n,max);
     }
    }
}

1 Ответ

1 голос
/ 05 октября 2019

Это должно работать:

import java.util.Scanner;

public class Average {

  public static void printMultiples(int n, int max) {
    for (int i = 1; i <= max; i++) {
      if (i % n == 0) {
        System.out.println(i);
      }
    }
  }

  public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    System.out.println("Enter a positive integer:");
    int n = s.nextInt();
    System.out.println("Enter a maximum positive integer:");
    int max = s.nextInt();
    printMultiples(n, max);
  }
}

Или с использованием Java 8 Lambda:

  public static void printMultiples(int n, int max) {
    IntStream.rangeClosed(1, max).filter(i -> i % n == 0).forEach(System.out::println);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...