[英]Diamond display with Nested Loops
我在这里学到了很多东西,但是有一个我无法找到的问题。
我们的最后一项任务要求我们使用Java中的嵌套For循环来显示菱形。
本程序必须使用用户输入的符号并绘制以下内容:
%
% %
% % %
% % % %
% % % % %
% % % %
% % %
% %
%
到目前为止,我已经伪编码了一个三角形的一半,然后我打算对三角形的反面进行编码以完成另一面,但是如果不增加所需符号的数量,我将无法获得任何其他信息:
*
**
***
****
*****
这是代码:
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();
}
}
}
任何输入,不胜感激!
* 编辑 *
我想发布我的结束代码。 这可能很简单,但我感到很满意。 希望它能像我在这里帮助过某个时候对某人有所帮助!
欢呼大家。
导入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
} //结束类
您可能要注意,在预期的输出中,每个符号后都有空格,因为您知道如何打印空格,并且我假设您知道要在哪里打印符号,因此添加符号的打印应该很容易。符号后的空格。 然后,您得到了钻石的一半,下半部分是完全相同的。
打包moreloops;
导入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();
}
}
}
我的输出大声笑5 *
** *
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();
}
}
}
那会有所帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.