java判断中奖_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");
}
上⾯的switch语句意义为,判断如果状态为0,计算单⾝纳税⼈的税款,如果状态为1,计算已婚共同纳税⼈的税款,如果状态为2,计算已婚单独纳税⼈的税款,如果状态为3,计算家庭户主纳税⼈的税款,如果都不满⾜,输出Errors,it(0)与it(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 = Int();
int lotteryDigit1 = lottery/10;
int lotteryDigit2 = lottery%10;
int guessDigit1 = guess/10;java生成随机数的方法
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,显⽰最后⼀种情况。
我会写循环语句以及通过确认对话框来回答问题,希望我们⼤家共同学习,⼀起进步,谢谢。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论