所以我确信这是一个熟悉的问题,因为我到处都看到了答案,但我在这一部分上遇到了特别困难。我觉得我很接近,但有些输出很奇怪。几乎就像它正在以某种方式相乘(?)。希望输出能够清楚地说明我的意思。根据我在这门 MOOC 类(class)中的情况,我非常确定我打算在调用原始 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 方法中的宽度和高度实际上并不是我的代码,而只是替换下面的示例输出:
打印矩形(1,2):
*
*
打印矩形(1,5):
*
*
*
*
*
它似乎至少在高度上可以正常工作,但是一旦我开始测试宽度,它就会变得一团糟
打印矩形(2,2):
****
****
打印矩形(3,2):
*********
*********
尽管宽度很奇怪,但高度似乎仍然工作正常
打印矩形(2,3):
****
****
****
打印矩形(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++;
}
}
任何一个都可以!!
关于java - 星号矩形问题 Java MOOC 39.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55130873/