を印刷する私の割り当てはそうのようなダイヤモンドの形で単語を印刷することである。ダイヤモンド形式の単語
*****s
****p*p
***i***i
**d*****d
*e*******e
r*********r
*e*******e
**d*****d
***i***i
****p*p
*****s
P.S.アスタリスクはスペースを表示するためにのみ存在し、アスタリスクは1つのスペースを表します。
は、これまでのところ私はこれを持っている:
完全にダイヤモンドの最初の半分を印刷しpublic class DiamondWords
{
public static void main(String[] args)
{
Scanner kbReader = new Scanner(System.in);
System.out.print("Enter a word to be printed in diamond format: ");
String word = kbReader.nextLine();
int wordLength = word.length();
for(int i = 0; i<wordLength-1; i++)
{
System.out.print(" ");
}
wordLength = wordLength - 1;
System.out.print(word.charAt(0));
System.out.println();
int x =1;
int d =1;
for(int j =wordLength; j>0; j--)
{
wordLength = j;
for(int a =1; a<wordLength; a++)
{
System.out.print(" ");
}
System.out.print(word.charAt(x));
for(int q =0; q<d; q++)
{
System.out.print(" ");
}
d+=2;
System.out.print(word.charAt(x));
x++;
System.out.println();
}
//r*********r
//*e*******e
//**d*****d
//***i***i
//****p*p
//*****s
}
}
:私は印刷しなければならないとき
*****s
****p*p
***i***i
**d*****d
*e*******e
r*********r
私は立ち往生てる部分だけがされダイヤモンドの後半。誰かが私を正しい方向に向けることができますか?私のためにコードを書いてはいけません。私が示した論理に基づいていくつかのポインタを試してみてください。ありがとうございました。
上半分を見つけたら、別のループを書きますが、論理を逆転させて –
とし、それぞれの半分はまったく同じ方法で線を書く必要があります。そのコードは、上部と下部のループで呼び出すことができる別のメソッド。 – slipperyseal
@ ScaryWombat唯一の問題は、ロジックを逆にする方法を理解できないことです。それは私をイライラする – jpsizzls