我有一个项目,我必须使用 for 循环绘制一个倒三角形,但是我必须使用该人输入的单词来制作三角形。
所以...输出应该是这样的...
Enter a word: hello
hello
hell
hel
he
h
然而... 我的看起来像这样
Enter a word: hello
hello
hello
hello
hello
hello
hello
hello
hello
hello
hello
我打印的代码如下所示:
System.out.println("Enter a word");
Scanner keyboard = new Scanner(System.in);
String a = keyboard.nextLine();
int rows = a.length()-1;
for(int i = rows; i > 0; i--){
for(int j = i; j > 0; j--){
System.out.println(a);
}
}
我试图在网上搜索如何修复它,但唯一出现的是如何使用 * 符号制作三角形,但这在使用单词时似乎不起作用。
如果有人可以帮助我找出上述结果,我将不胜感激。
你的代码的问题:
for(int j = i; j > 0; j--){
System.out.println(a);
}
您尚未修改此 for 循环中要打印的字符串。使用 String.charAt() 修改输出会更有效
这是我修改后的代码:
Scanner sc = new Scanner(System.in);
System.out.print("Eneter a word: ");
String word = sc.next();
for(int i=0;i<word.length();i++){
for(int j=0;j<word.length()-i;j++){
System.out.print(word.charAt(j));
}
System.out.println("");
}