Java练习-if语句
分支语句 if-else结构
分支结构:if-else使用说明
1.条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量
2.语句块只有一条执行语句时,一对{}可以省略,但建议保留 if-else语句结构,根据需要可以嵌套使用
3.当if-else结构是“多选一”时,最后的else是可选的,根据需要可以省略
4.当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓
当多个条件是“包含”关系时,“小上大下 / 子上父下”
if语句练习3
假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票,提示用户输入 一个两位数,然后按照下面的规则判定用户是否能赢。
1)如果用户输入的数匹配彩票的实际顺序,奖金10 000美元。
2)如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金 3 000美元。
3)如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字,奖金1 000美元。 4)如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500美元。5)如果用户输入的数字没有匹配任何一个数字,则彩票作废。 提示:使用(int)(Math.random() * 90 + 10)产生随机数。 Math.random() : [0,1) * 90 ->[0,90) + 10 ->[10,100) ->[10,99]
代码
import java.util.Scanner;
public class IF3
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int rd = (int)(Math.random() * 90 + 10); //生成随机数,范围10~99
System.out.println("抽奖游戏,输入任意数回车开始");
int db = sc.nextInt();
if( db == 777){
System.out.println("***DEBUG模式启动***\n随机数为:" + rd);}
//上面是一个Debug功能,若输入777,系统生成的随机数将直接输出,可以用来作弊
System.out.println("请输入一个两位数");
int ip = sc.nextInt(); //让用户输入数据
if(ip >=10 && ip <=99) //确保用户输入的数在限定范围内
{
if(ip == rd){
System.out.println("Congratulations!\n$10000$");}
else if(((ip % 10) == (rd / 10)) && ((ip / 10) == (rd % 10))){
System.out.println("$3000$");}
else if(((ip % 10) == (rd % 10)) || ((ip / 10) == (rd / 10))){
System.out.println("$1000$");}
else if(((ip % 10) == (rd / 10)) || ((ip / 10) == (rd % 10))){
System.out.println("$500$");}
else{
System.out.println("没有中奖");} }
//上面部分判定是否中奖,方法为将整型两位数直接除10以获得十位上的数,取余10获得各个位上的数,再分别比较
else
{
System.out.println("建议看眼科"); //在输入数据超出范围时加以提示
}
}
}
注意:Math.random()默认生成范围为[0,1)
if语句练习4
大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出 一定的条件:高:180cm以上;富:财富1千万以上;帅:是。
如果这三个条件同时满足,则:“我一定要嫁给他!!!” 如果三个条件有为真的情况,则:“嫁吧,比上不足,比下有余。” 如果三个条件都不满足,则:“不嫁!”
代码
import java.util.Scanner;
public class IF4
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int i = 0; //一个控制变量,初值为0,每满足一个条件则加1
System.out.println("请输入身高,单位cm");
int height = sc.nextInt();
if(height >= 180){i++;}
System.out.println("请输入财富总值,单位:万");
int asset = sc.nextInt();
if(asset >= 1000){i++;}
System.out.println("帅否?(输入true或false)");
boolean appearance = sc.nextBoolean();
if(appearance){i++;}
//以上为分别输入三个条件,并依情况修改控制变量
if(i == 3){
System.out.println("我一定要嫁给他!!!");}
else if((i == 1) || (i == 2)){
System.out.println("嫁吧,比上不足,比下有余。");}
else{
System.out.println("不嫁!");}
//根据控制变量值判定结果:i=3,i=1或2,i=0
}
}