倒三角形

问题描述 投票:0回答:1

我有一个项目,我必须使用 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);
  }
}

我试图在网上搜索如何修复它,但唯一出现的是如何使用 * 符号制作三角形,但这在使用单词时似乎不起作用。

如果有人可以帮助我找出上述结果,我将不胜感激。

loops for-loop java.util.scanner
1个回答
0
投票

你的代码的问题:

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("");
    }
© www.soinside.com 2019 - 2024. All rights reserved.