私はJavaでダイヤモンドを印刷するコードを開発しました。コードは*使用してダイヤモンドを印刷し、「o」は、コードは次のとおりです。ダイヤモンドの印刷Java出力が必要でない正確に
System.out.println("Diamond Height: " + DIAMOND_SIZE);
System.out.println("Output for: For Loop");
int noOfRows = DIAMOND_SIZE;
//Getting midRow of the diamond
int midRow = (noOfRows)/2;
//Initializing row with 1
int row = 1;
//Printing upper half of the diamond
for (int i = midRow; i > 0; i--)
{
//Printing i spaces at the beginning of each row
for (int j = 1; j <= i; j++) {
System.out.print(" ");
}
//Printing j *'s at the end of each row
for (int j = 1; j <= row; j++) {
System.out.print("* ");
}
System.out.println();
//Incrementing the row
row++;
}
//Printing lower half of the diamond
for (int i = 0; i <= midRow; i++) {
//Printing i spaces at the beginning of each row
for (int j = 1; j <= i; j++) {
System.out.print(" ");
}
//Printing j *'s at the end of each row
int mid = (row+1)/2;
for (int j = row; j > 0; j--) {
if(i==0 && j==mid) {
System.out.print("o ");
}
else {
System.out.print("* ");
}
}
System.out.println();
//Decrementing the row
row--;
}
}
私はこのことから得る結果は次のとおりです。
ダイヤモンド身長:5
*
* *
* o *
* *
*
Diamond Height: 3
*
* o
*
しかし、イムしよう次の結果が得られます。
Diamond Height: 5
*
* * *
* * o * *
* * *
*
Diamond Height: 3
*
* o *
*
What am I doing wrong? I have tried several things but nothing seems to help, Please help.
試しましたか? – abl
あなたは真ん中の行を、その結果、中間の文字を知っています。あなたがそれに達した時をテストし、 '*'の代わりに 'o'を表示してください。 – QBrute