Сомневайся на как реализовывать метод в java

dibujaPiramide1: получи целое число, n, как параметр ввода и нарисуй пирамиду, у последней линии которой будут n характеры: (он ничего не возвращает)

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

Мой код - следующий:

public void dibujaPiramide1(int num) {
        for(int altura = 1; altura<=num; altura++){
            //Espacios en blanco
            for(int blancos = 1; blancos<=num-altura; blancos++){
                System.out.print(" ");
            }

            //Asteriscos
        for(int asteriscos=1; asteriscos<=(altura*2)-1; asteriscos++){
            System.out.print("*");
        }
        System.out.println("");
    }
}
0
задан 06.11.2019, 03:28
2 ответа

Только ты faltГі показывать, в конце for приходящий ученик, переменная asteriscos. Но есть один pequeГ±o проблема: поскольку asteriscos - локальные внутренние в for, или же - переменная, свойственная этому for, когда она querГ©s использовать вне Вашего ГЎmbito (ключи {}) не возможно, так как он не распознается. Следовательно нужно признавать ее снаружи, как глобальной переменной mГ©todo dibujaPiramide1. AsГ-:

public void dibujaPiramide1(int num) {
    int asteriscos =0;//declaración de variable global de este método. Es obligatorio inicializarla, de lo contrario no compila.
    for(int altura = 1; altura <= num; altura++){
        //Espacios en blanco
        for(int blancos = 1; blancos <= num-altura; blancos++){
            System.out.print(" ");
        }
        //Asteriscos
        for(asteriscos =1 ;asteriscos <= (altura*2)-1; asteriscos++){
            System.out.print("*");
        }
        System.out.println("");//salto de linea
    }
    asteriscos--;//decrementamos unidad por que incrementa una más en la última iteración
    System.out.println("Cantidad de caracteres en la base de la pirámide: "+asteriscos);
} 
0
ответ дан 01.12.2019, 12:36

Ты cГіdigo он не правилен, так как в конце концов он рисует n*2-1 в основании ее pirГЎmide, что ты estГЎn прося это состоит в том, чтобы ты покрасил n звездочки в основании, потом ты cГіdigo deberГ, - чтобы быть:

public static void dibujaPiramide1(int num) {
    int asteriscos=1;


    for(int j = 1; j<=num; j++){
        //Espacios en blanco
        for(int blancos = 1; blancos<=num-j; blancos++){
            System.out.print(" ");
        }

        //Asteriscos
        for(int i=1; i<=asteriscos; i++){
            System.out.print("* ");
        }
        System.out.println("");
        asteriscos++;
    }
}

Нужно иметь в виду, что высота состоит nГєmero в том, чтобы ты поместил его, и что из-за каждой звездочки ты должен помещать место в мишень в способе. PruГ©balo и смотри результат, посмотрим это тот, что ты ждешь. Поскольку ты не поместил пример одной pirГЎmide уже нарисованная со звездочками, я не уверен, что это ожидаемый результат, Но думаю, что то, что estГЎs ища.

0
ответ дан 01.12.2019, 12:36
  • 1
    Если, что является тем, что я прошу, большое спасибо. – Anonimo 06.11.2019, 13:41

Теги

Похожие вопросы