带嵌套循环的钻石显示

时间:2013-10-09 12:44:56

标签: java nested geometry drawing

我在这里学到了很多东西,但我有一个问题,我无法找到。

我们的最后一项任务要求我们在Java中使用嵌套的For Loops来显示菱形。

本程序必须使用用户输入的符号并绘制以下内容:

    %
   % %
  % % %
 % % % %
% % % % %
 % % % %
  % % %
   % %
    %

到目前为止,我伪编码了一半的三角形,然后我将编码三角形的倒数来完成相反的一面,但除了增加所需的符号数量之外我不能得到任何其他的东西:

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

这是代码:

String symbol1; //User input, symbol to utilize

Scanner Keyboard = new Scanner (System.in); 
System.out.println("Enter the Symbol you wish to use: ");
symbol1 = Keyboard.next();

for (int i=0 ; i<5 ; i++)
{
    for (int k=5 ; k > i; k--)
    {
        System.out.print(" ");
    }
    for (int j=0; j<=i; j++)
    {
        System.out.print(symbol1);
    }
    System.out.println();
}



  }
}

非常感谢任何输入!

* 修改 *

我想发布我的结束代码。 这可能很简单,但我觉得很有成就感。 希望它会帮助某些人,就像我在这里得到帮助一样!

为每个人欢呼。

import java.util.Scanner;

公共课AlvaradoPgm04Bonus {

public static void main(String[] args) {

//使用用户输入的符号

绘制钻石
String symbol1; //User input, symbol to utilize

Scanner Keyboard = new Scanner (System.in); //New scanner 
System.out.println("Enter the Symbol you wish to use: "); //Prompt user symbol input
symbol1 = Keyboard.next(); // Capture user input

    for (int i=0 ; i<5 ; i++){ //Begin for loop - increase until int is 5 long
        for (int k=8 ; k > i ; k--){ //nested loop - decrease space before int "i" (inverted invisible triangle)
            System.out.print(" "); //print space from nested loop before symbol1 
        }
        for (int j=0; j<=i; j++){ //nested loop - increase "j" until is equal to "i" 
            System.out.print(symbol1 + " "); //print symbol1 + space to form diamond
        }
        System.out.println(); //print above nested loop line by line

    } //begin new loop - inverted triangle

    for (int m = 4 ; m > 0 ; m--){ //decrease symbol by 1
        for (int n = 8 ; n >= m ; n--){ //match increase of space "invisible" triangle next to symbol to form upside down triangle
            System.out.print(" "); //print "invisible" triangle
        }
        for (int q = 0 ; q < m ; q++){ //nested loop to decrease symbol entered by user
            System.out.print(symbol1 + " "); //print inverted triangle made of user's input
        }

        System.out.println(); //print the loop in new line.

    }       //end loop

}//end main

} //结束课

3 个答案:

答案 0 :(得分:0)

您可能需要注意,在预期的输出中,每个符号后面都有空格,因为您知道如何打印空格,我会假设您知道打印符号的位置,您应该很容易添加在符号后打印空格。 然后你得到了一半的钻石,下半部分是完全相同的在对立面直接如果你得到我的hInt。

答案 1 :(得分:0)

打包moreloops;

import java.util.Scanner;

公共类钻石{

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner in=new Scanner(System.in);
    int input=in.nextInt();
    int spac=input-1;
    int min=1;
    int max=input;
    for(int i=0;i<input;i++){
        for(int k=spac ; k>i;k--){
            System.out.print(" ");
        }
        for(int j=0;j<min;j++){
            System.out.print("*");
        }
        min+=2;
        System.out.println();
    }
    for(int m=input-1;m>0;m--){
        for(int n=spac;n>=m;n--){
            System.out.print(" ");
        }
        for(int q=0;q<m;q++){
            System.out.print("*");
        }
        System.out.println();
    }

}

}

我的输出大声笑 五     *







**     *

答案 2 :(得分:0)

package moreloops;

import java.util.Scanner;

public class Diamond {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner in=new Scanner(System.in);
    int input=in.nextInt();
    int spac=input-1;
    int min=1;
    int max=input;
    for(int i=0;i<input;i++){
        for(int k=spac ; k>i;k--){
            System.out.print(" ");
        }
        for(int j=0;j<min;j++){
            System.out.print("*");
        }
        min+=2;
        System.out.println();
    }
    for(int m=input-1;m>0;m--){
        for(int n=spac;n>=m;n--){
            System.out.print(" ");
        }
        for(int q=0;q<m;q++){
            System.out.print("*");
        }
        for(int s=0;s<m-1;s++){
            System.out.print("*");
        }
        System.out.println();
    }

}

}

这将有所帮助