因此,我确定这是一个熟悉的问题,因为我已经看到了所有答案,但是我在这部分工作特别困难。我觉得我已经接近了,但是其中一些输出很奇怪。几乎就像它以某种方式被乘以(?)。希望输出可以使我的意思更清楚。有了我在本MOOC课程中所处的位置,我可以肯定我打算在调用原始printStars方法时使用while循环,因此我想使我的代码尽可能与之相似。
public class HelloWorld {
private static void printStars(int amount) {
int i = 0;
while (i<amount) {
System.out.print("*");
i++;
}
}
private static void printRectangle(int width, int height){
int i = 0;
while(i < height){
int j = 0;
while(j < width){
printStars(width);
j++;
}
System.out.println();
i++;
}
}
public static void main(String[] args) {
printRectangle(width,height);
}
}
请注意,上面的printRectangle方法中的宽度和高度实际上不是我的代码,而只是替代以下示例输出:
printRectangle(1,2):
*
*
printRectangle(1,5):
*
*
*
*
*
它似乎至少可以在高度上正常工作,但是一旦我开始测试宽度,它就会全部拧紧
printRectangle(2,2):
****
****
printRectangle(3,2):
*********
*********
尽管宽度非常奇怪,但高度似乎仍然可以正常工作
printRectangle(2,3):
****
****
****
printRectangle(3,3):
*********
*********
*********
这太奇怪了,老实说,我不知道为什么要这么做。我敢肯定这很简单,我没看到,但是我已经坚持了好几个小时,对我们的帮助表示赞赏。
最佳答案
您循环打印矩形就足够了。您不需要额外的打印方法。或者,您不需要额外的循环选择。
像这样:
private static void printRectangle(int width, int height){
int i = 0;
while(i < height){
int j = 0;
while(j < width){
System.out.print("*");
j++;
}
System.out.println();
i++;
}
}
要么
private static void printStars(int amount) {
int i = 0;
while (i<amount) {
System.out.print("*");
i++;
}
}
private static void printRectangle(int width, int height){
int i = 0;
while(i < height){
printStars(width);
}
System.out.println();
i++;
}
}
任何一个都可以工作!