ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java语言程序设计(八)swith语句及彩票判定中奖问题

2021-01-22 23:55:28  阅读:399  来源: 互联网

标签:语句 Java int System 运算符 println lottery swith


紧接上一篇Java语言程序设计(七)之后,我们是否执行一条语句,是由几个条件的组合来决定的,我们可以使用逻辑运算符组合这些条件,逻辑运算符也称其为布尔运算符,是对布尔值进行的运算,它会创建新的布尔值,布尔运算符包括非运算符(!)(与逻辑非意义相同),与运算符(&&)(与逻辑与意义相同),或运算符(||)(与逻辑或意义相同),异或运算符(^)(与逻辑异或意义相同),异或的意义为:当且仅当两个操作数具有不同的布尔值时,两个布尔型操作数的异或采才为true。

      1.Switch语句

      如果在程序中,我们需要根据变量的具体值来进行进一步的运算,为了全面的考虑所有情况,我们需要使用嵌套的if语句,不过过多的使用嵌套语句会使得程序很难阅读,Java提供switch语句来有效的处理多重条件的问题,我们下面用一个程序清单来具体展示。

      switch(status){

          case 0: compute taxes for single filers;

                       break;

          case 1: compute taxes for married filing jointly;

                       break;

          case 2: compute taxes for married filing separately;

                       break;

          case 3: compute taxes for head of household;

                       break;

          default: System.out.println("Errors: invalid status");

                       System.exit(0);

      上面的switch语句意义为,判断如果状态为0,计算单身纳税人的税款,如果状态为1,计算已婚共同纳税人的税款,如果状态为2,计算已婚单独纳税人的税款,如果状态为3,计算家庭户主纳税人的税款,如果都不满足,输出Errors,System.exit(0)与System.exit(1),都是结束程序,只不过0为正常结束,1为异常结束。

      2.彩票问题

      假如说我们打算开发一个玩彩票的游戏,程序随机地生成一个两位数地彩票,提示用户输入一个两位数,然后按照下面地规则判定用户是否能赢:

      (1)如果用户的输入数匹配彩票的实际顺序,奖金为10000美金。

      (2)如果用户输入的所有数字匹配彩票的所有数字(即顺序颠倒),奖金为3000美金。

      (3)如果用户输入的一个数字匹配彩票的一个数字,奖金为1000美金。

      我们可以用前面文章讲过的Math类的random方法生成随机数,之后进入判定语句,将输入的两位数除以10取第一位,输入的两位数对10去余,获取第二位,之后通过条件语句进行判定。程序清单如下:

package lottery;

import java.util.Scanner;

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

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
         int lottery = (int)(Math.random()*100);
         Scanner input = new Scanner(System.in);
         System.out.println("Enter your lottery pick(two digits):");
         int guess = input.nextInt();
         int lotteryDigit1 = lottery/10;
         int lotteryDigit2 = lottery%10;
         int guessDigit1 = guess/10;
         int guessDigit2 = guess%10;
         System.out.println("The lottery number is"+lottery);
         if(guess==lottery)
             System.out.println("Exact match:you win $10000");
         else if(guessDigit1==lotteryDigit2&&guessDigit2==lotteryDigit1)
             System.out.println("Match all digits: you win $3000");
         else if(guessDigit1==lotteryDigit1||guessDigit1==lotteryDigit2||guessDigit2==lotteryDigit1||guessDigit2==lotteryDigit2)
             System.out.println("Match one digit: you win $1000");
         else
             System.out.println("Sorry,no match");
    }
    
}

图片

      我输入的数字为40,随机生成的数字为16,显示最后一种情况。

图片

      输入的数字为39,随机生成的数字为37,显示第3种情况,程序正确。在这个程序中,我们用到了上面所讲的逻辑运算符,下一篇文章,我会写循环语句以及通过确认对话框来回答问题,希望我们大家共同学习,一起进步,谢谢。


标签:语句,Java,int,System,运算符,println,lottery,swith
来源: https://blog.51cto.com/15064656/2602778

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有