#java #character
#java #символ
Вопрос:
Предполагается, что мой код создает прямолинейность. Однако приведенный ниже пример должен содержать другой A
символ в конце, как и во втором примере.
ABCDDCBA
ABCCBA
ABBA
AA
ABCDDCBA
ABCCBA
ABBA
AA
A
Это мой код. Он начинается с ABCDDCBA
и каждый раз удаляет символы в середине. Так ABCDDCBA
было бы ABCCBA
, если бы Ds удалялся. Однако, когда есть два символа (всегда одни и те же), предполагается, что код удаляет один, но это не так.
public static void pyramid(int n)
{
int i, j, num, gap;
// outer loop to handle number
// of rows n in this case
for (i = n; i >= 0; i--) {
// inner loop to create right triangle
// gaps on left side of pyramid
for (gap = n - 1; gap >= i; gap--) {
System.out.print(" ");
System.out.print(" ");
}
// initializing value corresponding to ASCII value of 'A'
num = 'A';
// loop to print characters on
// left side of pyramid
for (j = 1; j <= i; j ) {
System.out.print((char)num " ");
}
// loop to print characters on
// right side of pyramid
for (j = i - 0; j >= 1; j--) {
System.out.print((char)--num " ");
}
System.out.println("");
}
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
pyramid(n);
}
Пожалуйста, помогите мне. : (
Ответ №1:
У вас опечатка в вашем коде:
for (j = i - 0; j >= 1; j--) {
должно быть
for (j = i - 1; j >= 1; j--) {