如何在java中使用for循环打印出三角形中的鸡?

时间:2015-10-12 20:06:08

标签: java

实现printTriangle方法,使其从参数str中的字母中打印出一个三角形。例如,如果str是Chicken,那么您的方法应该打印以下内容

  

Ç
  CH
  智
  别致
  小鸡
  鸡精
  鸡肉

如果我希望它从完整的单词chicken到c以及另一个以最后一个字母开头并构建到整个单词的单词,该怎么办?

public class Triangle {

    public void printTriangle(String str) {


        for (int x = 1; x < str.length(); x++){

        }

       for ( int y = 0 ; y <  ; y ++ ){
           System.out.print(str.substring(y))

            System.out.println( );

    }
this is what I have :(
    //should look like a triangle 

4 个答案:

答案 0 :(得分:1)

试试这个:

    public class Triangle {

        public void printTriangle(String input) {
            for(int i = 0; i < input.length(); ++i) {
                System.out.println(input.substring(0, i + 1));
            }
        }

        public static void main(String[] args) {
            new Triangle().printTriangle("Chicken");
        }

    }

答案 1 :(得分:0)

这样的事情应该有效。

String str = "Chicken";
for(int y = 1; y <= str.length(); y++) {
    System.out.println(str.substring(0, y));
}
  

Ç
  CH
  智
  别致
  小鸡
  鸡精
  鸡

和其他组合:

String str = "Chicken";
for(int y = 0; y < str.length(); y++) {
    System.out.println(str.substring(y));
}
  


  hicken
  icken
  CKEN
  肯
  恩
  n

String str = "Chicken";
for(int y = str.length() - 1; y >=  0 ; y--) {
    System.out.println(str.substring(y));
}
  <磷>氮
  恩
  肯
  CKEN
  icken
  hicken
  鸡肉

答案 2 :(得分:0)

我为此尝试了一些方法,但我最好的方法就是:

    public static void printOutWordAsTriangle(String word) { //Supply a String as the word to print
    int currentLetter = 0; //The amount of letters which are printed per line. 0,1,2... (So it looks like a triangle)
    char[] letters = word.toCharArray(); //Split the string into a char Array
    while (currentLetter < letters.length) { //Print every line
        String toPrint = "";
        int i = 0;
        for (char c : letters) { //Print all characters needed for the word-part of the line
            if (i <= currentLetter) { // check if the character belongs to it
                toPrint = toPrint + String.valueOf(c);
            }
            i++;
        }
        System.out.println(toPrint); // Print the line
        currentLetter++;
    }
}

现在,您可以使用此方法。你只需要提供一个String。 例如:

printOutWordAsTriangle("WeLoveChicken");

注意:这只会在一个方向上打印出来。第二,我相信你能做到。

答案 3 :(得分:0)

这就是你要找的东西。忽略你的代码中的语法错误,问题是你正在做一个字符串的子串,所以当你从鸡开始,并且你得到一个说... 0(开始)的子串你得到鸡,在子串1,你正在受伤。您可以使用以下示例执行您要执行的操作。

public static void printTriangle(String str) {

    String temp = "";

    for (int x = 0; x < str.length(); x++){
        temp += str.charAt(x);
        System.out.println(temp);

    }
}