2012-04-01 3 views
-1

のために、5に設定されていても1つのハイフンが表示されています。は、なぜ、このプログラムは唯一のパラメータは、これらのガイドラインについては、たとえば

パラメータが負またはゼロの場合、このメソッドは何も行いません。それ以外の場合は、ダッシュ(ハイフン)からなる標準出力に改行で終わる完全な行を出力し、パラメータの値はダッシュの数を決定します。このメソッドは何も返しません。

私は以下のコードを書いていますが、eclipseで実行したときにハイフンを1つだけ表示し、テストパラメータを5にします。代わりにforループを使用する必要があると思っています。私はそれが1つのハイフンを返すだけのループの中でループすると思う。
このコードをどのように修正できますか?代わりに、条件付きifwhilefordo-while

void dashedLine(int x) 
    { 
     int i=0; 
     if(x>0) 
      { 
      if(i<=x) 
       { 
        i++; 
        System.out.print("-"); 
       } 
       else 
        System.out.print("\n"); 

      } 
    } 
+1

だろう (I = 0; I gnawthatthingoffyourface

+1

はい、ずっと良かった! - ) – gbulmer

+0

ありがとう!私はこれと以下の両方の答えを試しました。どちらもうまくいった:) – gnawthatthingoffyourface

答えて

2

をしかし、誰ループがありません。 ifはループではありません。 forwhileおよびdo whileは、Javaの3つの異なるループです。あなたはむしろ持っている必要がありますため

void dashedLine(int x) 
{ 
    for (int i=0;i<x;i++) { 
     System.out.print("-"); 
    } 
    System.out.print("\n"); 
} 
+0

提案されている最初の解決方法を使用しました。なぜなら、前には見たことのないIv'eだからです。しかし、これが私の使用方法です。 IFがループではないことを確認してくれてありがとう! – gnawthatthingoffyourface

1
あなたがここにループを使用する必要が

while(i++ <= x) { 
    System.out.print("-"); 
} 
+0

私は編集していた:D – Alexander

+0

ああクール!私はそれがそのようにすることができるかも知らなかった! whileループはその関数を実行し、かっこの内容を変更しますか?あるいは(i ++ <= x)の意味はコマンドを通り、すべてのループは括弧の内容を参照することなくiに追加されますか? ...それは意味がありますか? lol – gnawthatthingoffyourface

+0

TL; DRブールの左側に++が付いているのを見たことはありません。短い説明はすばらしいでしょう。 – gnawthatthingoffyourface

1

あなたが提案されているように、あなたはここにFORループを使用する必要があります。

for (i = 0; i < x; i++) 
    { 
    System.out.print("-"); 
    } 
    System.out.print("\n"); 
関連する問題