用Java打印一个正方形的星

时间:2011-10-26 12:44:23

标签: java algorithm

嗨我已经完成了我的课程任务,它是创建一个算法来制作一个5乘5平方,如下所示:

*****
*****
*****
*****
*****

我花了好几个小时尝试去阅读教程和书籍。这真令人沮丧,因为我知道如果你知道自己在做什么就必须如此轻松。任何人都可以给我任何指导,从哪里开始?

6 个答案:

答案 0 :(得分:17)

您可能知道并了解如何使用Java创建“Hello World”样式程序。 现在想想 - 你怎么会有相同的程序打印5次“Hello World”?

在那之后,考虑如何让它写N次“Hello World” 在 之后,想想你将如何输出一系列N星。

祝你好运!

答案 1 :(得分:3)

好像你应该有一个等于维度(5)的变量x。从for循环的i循环1-x。其中for循环j1-x循环。 j循环输出*,或将*附加到字符串。在j循环之后,i循环执行换行。

此解决方案允许任意大小的方格。

int size = input;
for (i=0; i<size; i++){
   for (j=0; j<size; j++){
       // output a single "*" here
   }
   // output a new line here
}

答案 2 :(得分:2)

如果我找到了你,那么它就是一个给定N的NxN广场。你的问题只是N:= 5,但你的评论让我假设你要编写一个更通用的解决方案。

将必须完成的工作分解为更基本和更小的问题:

  1. 创建一个包含String N次的*
  2. 使用生成的字符串N次调用System.out.println()

答案 3 :(得分:1)

这对你也有用,但是教授会皱眉,你在网上找到了答案,并没有自己想到它。

System.out.println("*****\n*****\n*****\n*****\n*****");

答案 4 :(得分:1)

这是我的做法:

for

答案 5 :(得分:0)

如果我理解正确,你需要的是一个有5行星的控制台输出。 您可以使用System.out.print()System.out.println()将文字打包到控制台,第二个选项可以换行。

由于必须重复输出,建议将输出语句括在循环中。最好在嵌套循环中分隔x轴和y轴。

为了使输出可以修改 - 对于你需要在没有任何代码修改的情况下输出6x6或12x15平方的情况,我会将循环的限制参数化。

总而言之,这样的事情:

public void printStartSquare(int width, int height){
    for(int i = 0; i < height;i++){
        for(int j = 0; j < width;j++){
            System.out.print("*");
        }
        System.out.println("");
    }
}