Больше чем N (пересмотрено) - PullRequest
0 голосов
/ 29 апреля 2020

В настоящее время я работаю над проблемами с учебниками, готовясь к выпускному экзамену, и застрял в методах и массивах. Я вижу, что кто-то еще писал об этом вопросе раньше, но я думаю, что они искали домашнюю помощь, и чтение этого поста не помогло мне. Подсказка:

В программе напишите метод, который принимает два аргумента: массив и число n. Предположим, что массив содержит целые числа. Метод должен отображать все числа в массиве, которые больше, чем число n.

Я думаю, что я настроил массив и напечатал все числа, которые больше, чем моя переменная "n", но я не уверен, что отвечаю на вопрос. Я чувствую, как будто я не сделал это в методе. Я могу быть немного смущен тем, что метод должен быть честным. Вот мой текущий код:

public static void main(String[] args) {

    //initialize n
    int n = 3;

    //setup the array
    int [] integerArray = new int [] {1, 2, 3, 4, 5, 6, 7, 8, 9};


    for (int i = 0; i < integerArray.length; i++) {
        if (i>n) {
            System.out.println(i);

        }

    }


}

Я не получаю ошибок при запуске, но, как я уже сказал, я чувствую, как будто это было слишком просто, и я должен что-то упустить. Я действительно ценю помощь для начинающего, как я. Моя цель состоит в том, чтобы взять это и попросить пользователя указать его номера для заполнения массива, а также их «n», чтобы сделать его более практичным и больше практиковаться в использовании JOptionPane, но обо всем по порядку.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Здесь главное, что вы задали логи c, но нет написанного метода, который имеет в качестве параметров массив int и int и ничего не возвращает в качестве результата (кроме печати), поэтому он пропускает метод в соответствии с запросом; решение таково:

private static void printGreaterThanN(int[] intArray, int valN) {
    IntStream intStream1 = Arrays.stream(intArray);
    intStream1.forEach(x -> { if (x > valN) System.out.println(x); });
}
0 голосов
/ 29 апреля 2020

Вы должны сравнивать значение, а не индекс. Это должно быть

  public static void main(String args[]){

    Scanner s = new Scanner(System.in);
    System.out.println("enter number of elements");
    int num=s.nextInt();
    int integerArray[]=new int[num];

    System.out.println("enter elements");
    for(int i=0;i<num;i++){//for reading array
        integerArray[i]=s.nextInt();
    }

    System.out.println("Enter number to be compared");
    int n = s.nextInt();

    for (int i = 0; i < integerArray.length; i++) {
    if (integerArray[i]>n) { //not the index i
        System.out.println(integerArray[i]);

    }
}
}

Надеюсь, это поможет !!

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