Java语言程序设计(八)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