Java言語プログラミング(8)switchステートメントと宝くじ当選の問題

最後のJava言語プログラミング(7)の直後に、ステートメントを実行するかどうかは、いくつかの条件の組み合わせによって決定されます。論理演算子を使用してこれらの条件を組み合わせることができます。論理演算子はブール演算とも呼ばれます。演算子は、ブール値。新しいブール値を作成します。ブール演算子には、not演算子(!)(論理notと同じ)、演算子(&&)(論理と意味と同じ)、Or演算子(||)(論理ORと同じ)が含まれます。 )、XOR演算子(^)(論理XORと同じ)、XORの意味は次のとおりです。2つのブール値が異なる場合にのみ2つのブールオペランドのXORが真の場合。

      1.switchステートメント

      プログラム内で、変数の特定の値に基づいてさらに計算を実行する必要がある場合、すべての状況を完全に考慮するために、ネストされたifステートメントを使用する必要がありますが、ネストされたステートメントが多すぎると、プログラムが読みにくくなります、Java switchステートメントは、複数の条件の問題に効果的に対処するために提供されています。プログラムリストを使用して詳細を示しましょう。

      switch(status){

          ケース0:単一申告者の税金を計算します。

                       ブレーク;

          ケース1:結婚申告の税金を共同で計算します。

                       ブレーク;

          ケース2:結婚申告の税金を個別に計算します。

                       ブレーク;

          ケース3:世帯主の税金を計算します。

                       ブレーク;

          デフォルト:System.out.println( "エラー:無効なステータス");

                       System.exit(0);

      上記の切り替えステートメントの意味は、ステータスが0の場合は、単一納税者の税を計算し、ステータスが1の場合は、既婚の共同納税者の税を計算し、ステータスが2の場合は、既婚の単一納税者、ステータスが3の場合、世帯主の納税者の税金を計算します。満たされていない場合、出力エラー、System.exit(0)およびSystem.exit(1)は両方とも終了手順ですが、0は正常を意味します終了、1異常終了しました。

      2.宝くじの問題

      宝くじゲームの開発を計画している場合、プログラムはランダムに2桁の宝くじを生成し、ユーザーに2桁の数字の入力を求め、次のルールに従ってユーザーが当選できるかどうかを判断します。

      (1)ユーザーの入力が実際の宝くじの注文と一致する場合、賞金は10,000米ドルです。

      (2)ユーザーが入力したすべての数字が宝くじのすべての数字と一致する場合(つまり、順序が逆になる場合)、賞金は3000米ドルになります。

      (3)ユーザーが入力した番号が宝くじの番号と一致する場合、賞金は1000米ドルです。

      前の記事で説明したMathクラスのランダムメソッドを使用して乱数を生成し、判断文を入力し、入力2桁を10で割って最初の桁を取り、入力2桁を残りの10桁にすることができます。 2桁目を取得し、条件付きステートメントで判断します。プログラムリストは次のとおりです。

パッケージ宝くじ;

java.util.Scannerをインポートします。

/ **
 *
 * @author john
 * /
public class Lottery {

    / **
     * @paramargsコマンドライン引数
     * /
    public static void main(String [] args){
        // TODOコードアプリケーションロジックここで
         intlottery =(int)(Math.random()* 100);
         スキャナー入力=新しいスキャナー(System.in);
         System.out.println( "宝くじのピックを入力してください(2桁):");
         intguess = input.nextInt();
         int lotteryDigit1 = lottery / 10;
         int lotteryDigit2 = lottery%10;
         intguessDigit1 =推測/ 10;
         intguessDigit2 = guess%10;
         System.out.println( "宝くじ番号は" +宝くじ);
         if(guess == lottery)
             System.out.println( "完全一致:$ 10000"を獲得);
         else if(guessDigit1 == lotteryDigit2 && guessDigit2 == lotteryDigit1)
             System.out.println( "すべての数字を一致させる:$ 3000を獲得します");
         else if(guessDigit1 == lotteryDigit1 || guessDigit1 == lotteryDigit2 || guessDigit2 == lotteryDigit1 || guessDigit2 == lotteryDigit2)
             System.out.println( "1桁一致:$ 1000を獲得");
         else
             System.out.println( "申し訳ありませんが、一致しません");
    }
    
}

画像

      入力した番号は40で、ランダムに生成された番号は16で、最後のケースを示しています。

画像

      入力された数は39、ランダムに生成された数は37で、3番目のケースを示し、プログラムは正しいです。このプログラムでは、上記の論理演算子を使用します。次の記事では、ループステートメントを記述し、確認ダイアログを介して質問に回答します。私たち全員が一緒に学び、一緒に進歩することを願っています。ありがとうございます。


おすすめ

転載: blog.51cto.com/15064656/2602778