尚硅谷Java学习第十一篇:练习题,从键盘获取整型数据,并执行if-else判断操作

题目1:
岳小鹏参加java考试,他和父亲岳不群达成承诺:
如果:

  1. 成绩为100分,奖励一台BMW;
  2. 成绩为(80,90]时,奖励一台ipone xs max;
  3. 成绩为[60,80]时,奖励一个ipad;
  4. 其它时,什么奖励也没有。

请从键盘输入岳小鹏的期末成绩,并加以判断。

import java.util.Scanner;
class IfTest{
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入岳小鹏的期末成绩:(0-100)");
		int score = scan.nextInt();
		if(score == 100)
			System.out.println("奖励一辆BMW");
		else if(score > 80 && score <= 99)
			System.out.println("奖励一台ipone xs max");
		else if(score >= 60 && score <= 80)
			System.out.println("奖励一个ipad");
		else
			System.out.println("什么奖励也没有");
	}
}		

说明:
1.else 结构时可选的;
2.针对于条件表达式:

>如果多个条件表达式之间是"互斥"关系(或者说是没有交集的关系),哪个判断语句和执行语句声明在上面还是在下面,无所谓。
>如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面。
>如果多个条件表达式之间有包含关系,通常情况下,需要将范围小的声明在范围大的上面。否则,范围小的就没机会执行。

题目2:
从键盘输入三个数,并按从小到大的顺序排序。

import java.util.Scanner;
class Sort{
	public static void main(String[] args){
		Scanner scan = new Scanner (System.in);
		System.out.println("请依次输入三个整数:");
		int num1 = scan.nextInt();
		int num2 = scan.nextInt();
		int num3 = scan.nextInt();
		if(num1 >= num2){
			if(num3 <= num2)
				System.out.println(num3 + "," + num2 + "," + num1);
			else if(num3 >= num1)
				System.out.println(num2 + "," + num1 + "," + num3);
			else
				System.out.println(num2 + "," + num3 + "," + num1);
		}
		else{
			if(num3 >= num2)
				System.out.println(num1 + "," + num2 + "," + num3);
			else if(num3 <= num1)
				System.out.println(num3 + "," + num1 + "," + num2);
			else
				System.out.println(num1 + "," + num3 + "," + num2);
		}
	}
}

题目3:
假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票, 提示用户输一个两位数,然后按照下面的规则判定用户是否能赢。
(1) 如果用户输入的数匹配彩票的实际顺序,奖金10 000元。
(2) 如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金3000美元。
(3) 如果用户输入的一个数字仅满足顺序情况下匹配彩栗的一个数字,奖金1 000美元
(4) 如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500美元
(5) 如果用户输入的数字没有匹配任何一个数字,则彩票作废。

思考:如何获取一个随机数:10 ~ 99

		double value = Math.random(); // 该方法得到的是一个double型的数据值,范围在 [ 0.0,1.0 )左闭右开。
		int value = (int)(Math.random() * 90 + 10); //  [0.0,1.0) --> [0.0,90.0) --> [ 10.0,100.0) 然后强转为 int 型。
		公式 : [a,b] : (int)(Math.random() * (b - a + 1) + a)
import java.util.Scanner;
class TestLottery {
	public static void main(String[] args){
		int ranNum = (int)(Math.random()* 90 + 10);//随机生成一个两位数
		System.out.println("用户您好,请输入一个两位数:");
		Scanner scan = new Scanner (System.in);
		int useNum = scan.nextInt();
		System.out.println("中奖号码为:" + ranNum);
		int ranGe = ranNum % 10;
		int ranShi = ranNum / 10;
		int useGe = useNum % 10;
		int useShi = useNum / 10;

		if(ranNum == useNum)
			System.out.println("恭喜您,中奖10000元");
		else if(ranGe == useShi && ranShi == useGe)
			System.out.println("恭喜您,中奖3000元");
		else if(ranGe == useGe || ranShi == useShi)
			System.out.println("恭喜您,中奖1000元");
		else if(ranGe == useShi || ranShi == useGe)
			System.out.println("恭喜您,中奖500元");
		else
			System.out.println("您没能中奖呢");

	}
}

题目4:
大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿当然要提出一定的条件:高: 180cm以上; 富:财富1千万以上;帅:是

  1. 如果这三个条件同时满足,则:“我一定要嫁给他!!”
  2. 如果三个条件有为真的情况,则:“嫁吧, 比上不足,比下有余。
  3. 如果三个条件都不满足,则:“不嫁!
法一:
import java.util.Scanner;
class  IfExer1{
	public static void main(String[] args) {
	
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入你的身高:(cm)");
		int heigh = scan.nextInt();
		System.out.println("请输入你的财富:(千万)");
		double wealth = scan.nextDouble();
		System.out.println("请输入你是否帅:(true/false)");
		boolean isHandsome = scan.nextBoolean(); // 从键盘输入boolean类型
		
		if(heigh >= 180 && wealth >= 1 && isHandsome == true)
			System.out.println("我一定要嫁给他");
		else if(heigh >= 180 || wealth >= 1 || isHandsome == true)
			System.out.println("嫁吧,比上不足,比下有余");
		else
			System.out.println("不嫁");
	}
}

法二:

import java.util.Scanner;
class  IfExer1{
	public static void main(String[] args) {
	
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入你的身高:(cm)");
		int heigh = scan.nextInt();
		System.out.println("请输入你的财富:(千万)");
		double wealth = scan.nextDouble();
		System.out.println("请输入你是否为帅:(是/否)");
		String isHandsome = scan.next(); // 从键盘输入String类型:(是/否)
		
		if(heigh >= 180 && wealth >= 1 && isHandsome.equals("是"))//string 类型不能用 "==" 来比较,而要用 equals ,如果匹配返回"true",否则返回"false"
			System.out.println("我一定要嫁给他");
		else if(heigh >= 180 || wealth >= 1 || isHandsome.equals("是"))
			System.out.println("嫁吧,比上不足,比下有余");
		else
			System.out.println("不嫁");
	}
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值