Java循环 - 制作" V"

时间:2014-09-03 13:13:12

标签: java loops

这可能听起来有点奇怪,所以请耐心等待。

我的任务是创建一个简单的Java类,它根据用户想要的高度形成一个“V”,由星号“*”和空格“”组成。

例如,如果用户想要一个高度为3的“V”,它会看起来像打印出来的那样;

*     *
 *   *
   *

高度为5的“V”看起来像是:

*           *
  *        *
    *     *
      *  *
        *

(那个看起来不太好,但你明白了,它假设是5“高”,形状像“V”)

我遇到的问题是,我没有看到循环中循环内的循环,我需要构建这样的东西。

所有简单的东西,比如询问用户他们想要什么样的高度等等,我可以处理,但我不知道这个东西是如何被编码的,打印出看起来像样的正确尺寸的“V” “在控制台中。

有人可以帮我解决这件奇怪的事吗?

更新

所以为了不像懒惰一样,我尝试了一下,看看我能想出什么。感谢评论部分提供了一些帮助,我提出了类似的建议。

public static void main(String[] args) {

    int height = 3;

    for (int i = 0; i < height; i++) {

        for (int j = 0; j < 2*(height-1)+1; j++) {

            if(j == i) {

                System.out.print("*");

            } else {

                System.out.print(" ");

            }

        }
}

看起来像一个好的开始,它吸引了我想要的大小“V”的一半。

我是在这里,还是我在月球上的进步?

我希望在正确的方向上捅一下,我非常感谢你的评论!

1 个答案:

答案 0 :(得分:-1)

这是一个绘制V的代码。

看看它,你会明白为什么它有效....

    void drowV(int hight){
    int rowLen = (hight-1)*2;

    for(int i=0; i<hight; i++){
        int start = i;
        int end = rowLen-i;
        for(int j=0;j<=rowLen; j++){
            if(j==end){
                System.out.println("*");
                break;
            }
            else if(j==start){
                System.out.print("*");
            }
            else{
                System.out.print(" ");
            }
        }
    }
}