2017-11-02 5 views
1

文字列を入力し、長さが9かどうかをチェックするプログラムを作成したいと思います。そうであれば、それは大丈夫であるというメッセージを出します。そうでない場合は、そうでないメッセージを表示し、ユーザーに再度文字列を入力するように促します。それを実行している間、私はいつもそれが間違っています。どこが間違っていますか?文字列の長さをチェックし、Javaでdo-whileを使用する

import java.util.*; 
public class Sec { 
    public static void main(String[] args) { 
     Scanner Secnum = new Scanner(System.in); 
     System.out.println("Give Sec: "); 
     String Sec = Secnum.nextLine(); 
     do{ 
      if (Sec.length()!= 9); 
      System.out.println("Wrong lenght Sec,enter again"); 
      Secnum.nextLine(); 
     }while (Sec.length() == 9); 
     System.out.println("Sec lenght okay"); 
    } 
} 

答えて

2

あなたは同じ長さをだからあなたのループを条件としてこれを持っている必要があり9.

されていないため、新しい値を要求します。さらにあなたのifが間違っています。 Javaで中括弧が必要な場合は、次のステートメントのみに影響します。文はセミコロンだけでもかまいません。だからあなたのifステートメントはまったく役に立たない。

コードをさらにコンパクトにするために、ifを取り出してdo-whileループを入れ替えることができます。条件が真であり、条件に関係なく初めに一度でない場合にのみ実行されます。より良い動作するはず

コード:サイドノートで

import java.util.*; 

public class Sec { 

    public static void main(String[] args) { 
    Scanner secnum = new Scanner(System.in); 
    System.out.println("Give Sec: "); 
    String sec = secnum.nextLine(); 

    while (sec.length() != 9) { 
     System.out.println("Wrong lenght Sec,enter again"); 
     secnum.nextLine(); 
    } 

    System.out.println("Sec lenght okay"); 
    } 
} 

:使用小文字の変数名。それはより良いコードスタイルです:)

+0

すべてのヒントや提案についてはgeisterfurz007ありがとうございます。私が述べたように、私は初心者で、本から独学で教えています(そしてギリシャ語の本)ので、私はまだ多くのことを忘れています。 – Bloubloum

+0

あなたは大歓迎です!誰もがそのように始まります;)答えがあなたの問題を解決するのに役立ったなら、それを上書きすることを検討してください。あなたの質問に完全に答えた場合は、答えの左側にあるグレーのチェックマークをクリックして回答を受け入れます。これは、他の人のために解決されたように質問をマークし、あなただけでなく、私に報いる! – geisterfurz007

+0

ありがとう!私はもちろん - しかし - 私の評判(それの欠如)のために - それは表示されませんupvoted。私は答えを受け入れる、素晴らしい!再度、感謝します! – Bloubloum

2

if文を終了します。

if (Sec.length()!= 9);

ので、次の印刷は常にかかわらず、それが本当であることかどうかの実行されます。

エラーのロジックをifブロックに入れます。

if (Sec.length()!= 9) { 
    // Print failure message 
    // Other logic 
} 
+0

これを修正するにはどうすればよいですか? – Bloubloum

+0

ユーザーが正しい入力を行うまでループを継続しますか? –

+0

いいえ、私はしません。正しい入力が得られると、私は他の計算にSecを使用します。ありがとうございます – Bloubloum

関連する問題