Как распечатать только 10 элементов в строке для моего массива? - PullRequest
1 голос
/ 29 апреля 2019

Я создал массив из 50 элементов.

Первые 25 элементов равны квадрату индекса, а последние 25 элементов равны индексу, умноженному на 3.

Это мой текущий вывод: 0 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441 484 529 576 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147

Мой желаемый вывод такой:

0 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441 484 529 576 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147

Я пытался использовать функцию форматирования (printf), но не могу заставить ее работать. Я также попытался использовать оператор if, но это дало мне ошибку «не могу преобразовать int в логическое значение».

Я искал некоторые похожие вопросы, но их решения либо слишком сложны для меня, либо они не работают для моего конкретного кода, так как я уже использую циклы for.

У кого-нибудь есть простой способ добиться этого? Это для домашнего задания. У меня есть логическая часть, которая, по иронии судьбы, должна быть сложной, но эта часть форматирования делает меня тупым LOL

Я ценю любую помощь!

Это мой код прямо сейчас:

int [] Number = new int [50];
for(int i = 0; i < Number.length/2; i++) {//first loop

    System.out.print(i * i + " ");

}

for(int i = 25; i < Number.length; i++) {//second loop

    System.out.print(i * 3 + " ");
}

Ответы [ 5 ]

3 голосов
/ 29 апреля 2019

Вам не нужен массив.То, что вы хотите сделать:

Цикл 50 раз

  • 1-й раз, установите i на 0
  • 2-й, установите i на 1
  • 50-й раз, установите i на 49

Каждый раз:

  • , если i < 25 печать i * i
  • if i >= 25 print i * 3

Каждый десятый раз печатать новую строку.

Вот как это можно сделать без массива:

int size = 50;
for (int i = 0; i < size; i++) {
    // Print a newline after every 10 elements
    if (i != 0 && i % 10 == 0) {
        System.out.println();
    }

    // Print i * i for 0 up to but excluding 25
    // Print i * 3 after that
    if (i < size / 2) {
        System.out.print(i * i + " ");
    } else {
        System.out.print(i * 3 + " ");
    }
}

Если вы действительно хотите перебрать элементы массива:

int[] myArr = new int[50];
for (int i = 0; i < myArr.length; i++) {
    if (i != 0 && i % 10 == 0) {
        System.out.println();
    }

    if (i < size / 2) {
        System.out.print(i * i + " ");
    } else {
        System.out.print(i * 3 + " ");
    }
}

Также не рекомендуется называть переменную Number, потому что:

  • В Java уже есть класс с именем Number , который может сбить читателей с толку.
  • Переменные в Java по соглашению должны быть в camelCase.Имена классов в PascalCase (см. здесь ).
0 голосов
/ 29 апреля 2019
int[] array = new int[50];
int count = 0; // To print 10 elements per line
for(int I = 0; I < array.length; I++) {
    if (count == 10) {            
        System.out.println();        
        count = 0;
    }    
    System.out.print(a1[i] + " ");
    count++;
}
0 голосов
/ 29 апреля 2019

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

int[] arrNum = new int[50];
for (int i = 0; i < numbers.length; ++i) { //First loop to enter the data
 numbers[i] = ((i < 25) ? i * i : i * 3);
}

for (int i = 0; i < numbers.length; ++i) { //Second loop to output data
 if (i % 10 == 0) System.out.println;
 System.out.print(numbers[i] + " ");
}
0 голосов
/ 29 апреля 2019

Требует ли массив хранения правильных значений?

int[] numbers = new int[50];
for (int i=0; i<numbers.length; ++i) { //calculating correct value into the array
    numbers[i] = (i < 25) ? i * i : i * 3;
}

for (int i=0; i<numbers.length; ++i) { //displaying data
    if (i % 10 == 0 && i > 0) {
        System.out.println();
    }
    System.out.print(numbers[i] + " ");
}
0 голосов
/ 29 апреля 2019

Попробуйте это:

   int[] Number = new int[50];
    for (int i = 0; i < Number.length / 2; i++) {//first loop

        if (i % 10 == 0 && i > 0) {
            System.out.println();
        }
        System.out.print(i * i + " ");

    }

    for (int i = 25; i < Number.length; i++) {//second loop
        if (i % 10 == 0) {
            System.out.println();
        }
        System.out.print(i * 3 + " ");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...