2017-09-08 21 views
1

ピラミッドパターンのスペースを持つ2文字を使ってJavaプログラムを作成しようとしました。私は変数bを表示したいので途中で立ち往生していますが、どこに配置すればいいのか分からず、結果は常に1文字のみ表示されます。これは私の今後の試験の参考用です。リトルヘルプは非常に感謝しています。Javaプログラムで2文字とスペースをピラミッドパターンに入れよう

は、ここに私のコードです:

public static void main (String[]args){ 
    Scanner in =new Scanner(System.in); 

    int rows; 
    char a, b; 

    System.out.print("Enter how many rows"); 
    rows = in.nextInt(); 
    System.out.print("Enter 1st char"); 
    a=in.next().charAt(0); 
    System.out.print("Enter 2nd char"); 
    b=in.next().charAt(0); 

    for (int r=2;r<=rows;r++) 
    { 
     for (int c=1;c<=r;c++) 
     { 
     if (c==r) 
     { 
     System.out.print(a); 
     } 
     else 
     { 
     System.out.print(" "); 
     } 
     } 
     System.out.println(); 
    } 

} 

私が表示したい出力は次のようにする必要があります:

* 

    # 

     * 

     # 

      * 

などなど....事前みんなで

感謝。私はかなり理解していなかったので、間違ってそれが必要です。

+2

1) 'B' 3)検索どのようにJavaでピラミッドを印刷するため –

+0

ありがとう、私はインデントを修正します。そして変数bについて私の質問を変えてください。私はJavaのピラミッドについての研究をしましたが、私が探しているものを見つけることができません。 – Fritz

答えて

4

使用これはあなたのループで

 if (c == r) { 
      if (r % 2 == 0) 
      System.out.print(a); 
      else 
      System.out.print(b); 
     } 

代わりの

  if (c==r) 
     { 
     System.out.print(a); 
     } 

シンプルな数学 - あなただけの行かどうかを確認してあなたは、すべてのも、すべての奇数行をbすることが可能に行たいです奇数または偶数です。

そして、私のスニペットから

for (int r = 2; r <= rows; r++) 

for (int r = 1; r <= rows; r++) 

への出力を変更する:あなたは、変数を使用することはありません)あなたのインデント2を修正

Enter how many rows5 
Enter 1st char* 
Enter 2nd char# 
# 
* 
    # 
    * 
    # 
+0

あなたは秒で私を打ち負かします –

+0

はい、それです!どうもありがとうございました。それは、私が本当に混乱しているところです。偶数行を奇妙な行にする方法についてです。 – Fritz

+0

@ScaryWombatは、私が答えたいと思うたびに私に起こります:D –

関連する問題