Как удалить ненужные элементы из распечатанного списка? - PullRequest
0 голосов
/ 11 ноября 2019

Напишите функцию Java, которая принимает целое число n в качестве входных данных и выводит строку целых чисел от 1 до n, где каждое число, кратное 4, заменяется на «Hello», каждое числозначение, кратное 5, заменяется на «Wonderful», а каждое число, кратное 7, заменяется на «World».

package Multiple;

import java.util.Scanner;

public class MultipleList {
    public static void main(String args[]) {
        Scanner reader = new Scanner(System.in);
        System.out.print("Enter an integer number: ");
        int n = reader.nextInt();
        for (int i = 1; i <= n; i++) {
            // Checking if the integer is a multiple of 4
            if ((i % 4) == 0) {
                // print
                System.out.println("Hello");
            }
            // Checking if the integer is a multiple of 5.
            if ((i % 5) == 0) {
                // print
                System.out.println("Wonderful");
            }
            // Checking if the integer is a multiple of 7.
            if ((i % 7) == 0) {
                // print
                System.out.println("World");
            }
            System.out.println(i);
        }
    }
}

Когда я ставлю n = 7 (например), я ожидаювыведите «1, 2, 3, Hello, Wonderful, 6, World», но на самом деле выведите «1, 2, 3, Hello, 4, Wonderful, 6, World, 7».

Ответы [ 3 ]

3 голосов
/ 11 ноября 2019

Вы должны сделать это:

if ((i % 4) == 0) {
    System.out.println("Hello");
} else if ((i % 5) == 0) {
    System.out.println("Wonderful");
} else if ((i % 7) == 0) {
    System.out.println("World");
} else { 
    System.out.println(i);
}
0 голосов
/ 11 ноября 2019

Вы можете изменить, если (n! = I) Syso (i)

вместо конца строки system.out.println (i);

0 голосов
/ 11 ноября 2019

Ваш последний оператор печати, безусловный

 System.out.println(i);

должен выполняться только в том случае, если ранее ничего не было напечатано для этого конкретного значения i.

Есть два способа пойтиоб этом;(1) путь грубой силы, предшествующий тому утверждению, которое говорит: «если это не кратно 4 и не кратно 5 и не кратно 7», и (2) отслеживание того, напечатали ли вы что-нибудь. Я предпочитаю второй подход.

Думаю, вам было бы полезно предоставить точный код, поэтому я не сделал этого здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...