2017-02-25 10 views
1

このコードでは、名前と1から20までの数字を尋ねますが、20以上の数値を入力するとプログラムが実行され、 "ano"の量を計算するための条件文が必要ですステートメントを停止して再質問してセグメントを再実行しますが、コードに実装する方法はわかりません。このプログラムで条件文を設定するにはどうすればよいですか?

// library - for interactive input 
 
import java.util.Scanner; 
 

 
//--------------------------------- 
 
// program name header 
 
public class feb24a 
 
{ 
 
    //--------FUNCTION CODING --------------- 
 
    // FUNCTION HEADER 
 
    public static void seeit(String msg, String aname, int ano) 
 
    { 
 
    // statement to accomplish the task of this function 
 
    System.out.print("\n The message is " + msg + "\t" + "Name is:" + aname + "\t" + "number is: " + ano); 
 
    // return statement without a variable name because it is a void 
 
    return; 
 
    } 
 

 
    //------------------- MAIN MODULE CODING TO CALL FUNCTIONS ---------------- 
 
    // Main module header 
 
    public static void main (String[] args) 
 
    {   
 
    String msg, aname; 
 
    int ano, again, a, b; 
 

 
    msg = "Hello"; 
 
    a = 1; 
 
    b = 20; 
 

 
    //Loop control variable 
 
    again = 2;  \t  \t 
 
    while(again == 2) 
 
    { 
 
     System.out.print("\n enter NAME: ");  \t 
 
     Scanner username = new Scanner(System.in); 
 
\t 
 
     aname = username.nextLine(); 
 
\t 
 
     System.out.print("\n enter number 1-20: ");  \t 
 
     Scanner userno = new Scanner(System.in); 
 
\t 
 
     ano = userno.nextInt(); 
 
     seeit(msg, aname, ano); 
 
\t 
 
     //ask user if they want to do it again, 2 for yes any other for no 
 
     System.out.print("\n do you want to do this again? 2 for yes "); 
 
\t 
 
     Scanner useragain = new Scanner(System.in);  \t 
 
     again = useragain.nextInt(); 
 
    } //terminate the while loop 
 
    }  \t 
 
}

+0

「なら、」あなたは、単に持っている –

+0

文では、例えば使用する:(i>が0 &&私は<場合= 20) –

+0

"Javascript/HTML/CSS snippet"というラベルの付いたアイコンを使用して質問を入力したようです。 JavascriptはJavaではありません。お願い、それはやめて。 – ajb

答えて

0

置き換えこれであなたのwhileループ:

Scanner scanner = new Scanner(System.in); 
    while (again == 2) { 
     ano = 0; 

     System.out.print("\n enter NAME: "); 
     aname = scanner.nextLine(); 

     while (ano < 1 || ano > 20) { 
      System.out.print("\n enter number 1-20: "); 
      ano = scanner.nextInt(); 
     } 

     seeit(msg, aname, ano); 

     System.out.print("\n do you want to do this again? 2 for yes "); 
     again = scanner.nextInt(); 
    } 
のint aとbは、私が挿入しようとしたときからだった
+0

ありがとう、今私はそれを分解し、将来の使用のためにこれがどのように働くか見る必要があります! –

0

whileループで)あなたのあの= userno.nextIntを(囲むようにしてください。 (while(ano < 1 || ano> 20))whileループ中にプロンプ​​トを表示します。そうすれば、それは最終的にもはやwhileループを満たさなくなり、壊れてしまうまで新しい番号を読み続けるでしょう。

+0

あなたが何を意味するのか正確にはわかりません... –

+0

"ano = username.nextLine();"あなたが示唆したが、まだ定義されていないwhileループの内部? –

+0

&&を||に置き換える答えを修正しました。いいえ、anoはまだ定義されています。外側のwhileループを削除します.pavloが上に示したように、内部whileループを追加するだけです。 –

関連する問題