您好我正在做一些练习问题并尝试打印对角线,如下例所示。我写了下面你看到的程序,老实说,我不明白我做错了什么。我是一个java初学者,我不知道如何找到错误。
示例:
*
*
*
*
*
代码:
class Diagonal{
public static void main(String args[]) {
int row, col;
for(row = 1; row < 6; row++) {
for(col = 1; col <= row; col++) {
if(col==row){
System.out.print("*");
} else{
System.out.print("");
}
System.out.println();
}
}
}
}
我正在尝试学习循环,因为它们让我很困惑。另一种做法是打印类似的对角线,但这次是从右到左。我不能做到这一点,但没有得到这个:(我相信他们将非常相似? 我的上述内容是这样的:只要列#与行号相同,就行打印或者留空......我怎么做错了?
谢谢!
答案 0 :(得分:6)
您永远不会打印任何空格字符。您打印一个空字符串。取代
System.out.print("");
与
System.out.print(" ");
此外,您在每列之后写一个换行符,而不是在每一行之后写一个换行符。
答案 1 :(得分:2)
String spaces = "";
for(int row = 1; row < 6; row++) {
System.out.println(spaces+"*");
spaces += " ";
}
答案 2 :(得分:1)
System.out.println("*");
System.out.println(" ");
答案 3 :(得分:0)
如前所述,用空格替换黑色,并将结束线移动到FIRST的末尾,如下所示:
class Diagonal{
public static void main(String args[]) {
int row, col;
for(row = 1; row < 6; row++) {
for(col = 1; col <= row; col++) {
if(col==row){
System.out.print("*");
} else{
System.out.print(" ");
}
}
System.out.println();
}
}
}