该程序的主要目的是创建一个正方形的星星,例如:
***
***
***
为此,我需要使用预制函数,例如
public static void printStars(int amount) {
int counter = 0;
while (counter < amount) {
System.out.print("*");
counter++;
}
}
现在,我的代码存在的问题是我创建的
***
***
***
或者我创建
*********
public static void printSquare(int sideSize) {
int i = 0;
while (i < sideSize) {
printStars(sideSize);
i++;
}
}
这将产生星星作为一条线。显然,从测试看来,我需要在第一个函数中输入一个换行符,但是当我这样做时,它会创建一个更大的换行符,因为我认为解决方案是
public static void printStars(int amount) {
int counter = 0;
while (counter < amount) {
System.out.print("*");
counter++;
}
system.out.print("\n");
}
由于使用的换行符要大得多。
所以我的问题是:如何进行正确的换行?
在此先感谢您,对同样的问题表示歉意。
TLDR: 继续制作
***
***
***
代替
***
***
***
答案 0 :(得分:0)
在编码中存在错误,而不是使用
System.out.print("/n")
我用过
System.out.println("/n")
表示打印两个换行符,而不是一个。
答案 1 :(得分:0)
您可以使用StringBuilder
来更轻松地控制打印内容(最后只需使用System.out.println()
一行打印即可:
public class Test {
public static void main(String args[]) {
printSquare(3);
}
public static void printStars(int amount) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < amount; i++) {
builder.append("*");
}
System.out.println(builder.toString());
}
public static void printSquare(int amount) {
for (int i = 0; i < amount; i++) {
printStars(amount);
}
}
}
答案 2 :(得分:0)
以下代码可帮助您打印所需的输出,即
***
***
***
public class PrintPattern {
public static void main(String[] args) {
for(int i=0;i<3;i++){
printStars(5);
}
}
public static void printStars(int amount) {
int counter = 0;
while (counter < amount) {
System.out.print("*");
counter++;
}
System.out.print("\n");
}
}