Ce programme permet à l'utilisateur de décider de la longueur (lignes) d'un triangle et de décider s'il doit être orienté vers le haut ou vers le bas. Et le triangle est fait de lettres, de sorte qu'il est censé ressembler à ceci:Triangle imprimant des lettres dans le mauvais ordre et caractères non désirés
How many rows would you like? (finish with -1): 4
Do you want the triangle to face up (1) or down (2)? 1
A
A B
A B C
A B C D
How many rows would you like? (finish with -1): 6
Do you want the triangle to face up (1) or down (2)? 2
A B C D E F
A B C D E
A B C D
A B C
A B
A
J'ai deux problèmes lorsque je tente d'obtenir le triangle d'imprimer vers le bas, d'abord les lettres ressemblent à ceci (il devrait commencer avec un A)
F E D C B A
F E D C B
F E D C
F E D
F E
F
Et les lettres sont suivies par des charges de caractères différents que je ne veux pas. J'ai essayé tellement de choses et rien ne semble fonctionner. Je pourrais vraiment utiliser un conseil.
Ceci est mon code à ce jour:
import java.util.Scanner;
public class Triangle {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
int a = 0;
int b = 0;
while (a != -1) {
System.out.println("How many rows would you like? (finish with -1):");
a = scan.nextInt();
if (a != -1) {
b = a - 1;
int j = 'A';
char alphabet = (char) (j + 'A');
System.out.println("Do you want the triangle to face up (1) or down (2)?");
int c = scan.nextInt();
if (c == 1) {
for (int i = 1; i <= b + 'A'; i++) {
for (j = 'A'; j <= i; j++)
System.out.print((char) j + " ");
System.out.println(alphabet);
}
} else {
for (int i = 1; i <= b + 'A'; i++) {
for (j = b + 'A'; j >= i; j--)
System.out.print((char) j + " ");
System.out.println(alphabet);
}
}
}
}
}
}