【发布时间】:2017-05-06 03:05:33
【问题描述】:
为我制定了一项任务,让我学习 Java 编程,尤其是打印方面的知识。
例如,我们输入了8。然后我们必须得到一个由“+”组成的矩形作为输出,所以它看起来像这样:
++++++++
+ +
+ +
+ +
+ +
+ +
+ +
+ +
++++++++
下面的代码会做到这一点(如果你想让我解释,请告诉我,我会做到的):
public class Printest{
public static void main(String[] args){
int x = Integer.parseInt(args[0]);
for(int i=0; i<x; i++){
System.out.print("+");
}
System.out.println("");
for(int i=0; i<x-1; i++){
System.out.print("+");
for(int j=0; j<x-2; j++){
System.out.print(" ");
}
System.out.print("+");
System.out.println("");
}
for(int j=0; j<x; j++){
System.out.print("+");
}
}
}
但是现在我想添加一个附加功能,所以这个正方形里面有一个十字,我该怎么做?我试图添加一些 if 语句,但我总是最终移动矩形左右边缘..:/
我希望它看起来更精确:
+++++++++
+* *+
+ * * +
+ * * +
+ * +
+ * * +
+ * * +
+* *+
+++++++++
你会怎么做? if 语句似乎不起作用,我觉得由于多个单独的 for 循环,无法在我的代码中实现它..?
顺便说一句,是否有更简单的方法来完成这项工作(只需打印矩形)?我认为我采取了一种非常复杂和低效的方式。我很想知道更简单的方法,如果它们不是更复杂的话:P
【问题讨论】:
-
提示:两个for循环将第二行第二列的星号添加到矩形最后一行和最后一列之前的一个
标签: java for-loop printing syntax