Как найти гистограмму с помощью массивов?

-4

Гистограммы сборки/вывода с использованием массивов Где я ошибаюсь?

Этот код принимает 5 входов от пользователя в массиве и показывает количество звезд, например, если пользователь вводит 3, тогда будет отображаться *** и т.д. Где я ошибаюсь?

  public class P20 {
public static void main(String[] args) {

int[] anArray;
int Number;
//setup variable value
anArray = new int [10];
System.out.println("Enter some numbers between 1 and 100.");

for (int i = 0; i < 10; i++) {
System.out.println(i);

anArray[0] = 1-9;
anArray[1] = 10-19;
anArray[2] = 20-29;
anArray[3] = 30-39;
anArray[4] = 40-49;
anArray[5] = 50-59;
anArray[6] = 60-69;
anArray[7] = 70-79;
anArray[8] = 80-89;
anArray[9] = 90-100;
if(anArray > 0) {
System.out.println("*"+Number );

else if(anArray > 20)
{
System.out.println("**"+Number );
}
else if (anArray > 30)
{
System.out.println("***"+Number );
}
else if (anArray > 40)
{
System.out.println("****"+Number );
}
else if (anArray > 50)
{
System.out.println("*****"+Number ); }
}}

спросил(а) 2016-06-28T19:45:00+03:00 4 года, 8 месяцев назад
0
87

 if(anArray > 0) {

вы всегда будете > 0 так что вы всегда получите только 1 х *

вы должны изменить предложение if следующим образом:

if (anArray > 0 && anArray < 20){

и так далее...

редактировать:------------------------------------------------ -----------

как вы просили:

public String stars(int n) {
if (n == 1){
return "*";
}else{
return "*" + stars(n-1);
}
}

ответил(а) 2016-06-28T19:53:00+03:00 4 года, 8 месяцев назад
43

Этот код принимает 5 входов от пользователя в массиве и показывает количество звезд, например, если пользователь вводит 3, тогда будет отображаться *** и т.д. Где я ошибаюсь?

Этот код не принимает входные данные от пользователя.

Вы хотите, чтобы пользователь вводил значение, а затем печатал количество звезд, которые он написал. Вы можете сделать это вот так:

public class P20 //Why don't you try giving names that are easier to remember
{
public static void main(String[] args)
{

for (int i=0; i<args[0]; i++)
{
System.out.print("*");
}
}

Где args [0] - первый аргумент, присвоенный программе при вызове:

java P20 3

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

Когда вы написали:

aArray [0] = 1-9;

Вы действительно хотели написать, что означает "Пусть 0-й элемент массива будет числом 1 минус 9" (= -8)?

Или вы намеревались ввести интервал? (Значение чисел от 1 до 9).

Затем вы скажете:

if (anArray> 0)

Это не имеет смысла для меня, поскольку anArray является переменной int [], а не переменной int. Это означает, что anArray не является переменной, которая указывает прямо на число, но указывает на объект массива, который содержит несколько значений int.

ответил(а) 2016-06-28T20:13:00+03:00 4 года, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема