实现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
答案 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);
}
}