习题:选择结构(一)

目录

01: 使用if选择结构判断一个整数,属于哪个范围:大于0;小于0;等于0

02:使用if选择结构判断一个整数是偶数还是奇数。

03:使用if选择结构对三个整数进行排序,输出时按照从小到大的顺序输出。

04:使用if选择结构判断一个三位的整数是否是水仙花数。

水仙花数的条件:三位数为abc,则满足:a3+b3+c3=abc

05:使用if选择结构判断某一年份是否是闰年。

闰年的条件:

普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年);

世纪闰年:能被400整除的为世纪闰年。(如2000年是世纪闰年);

06:使用if选择结构判断一个4位整数,统计出此整数各个位包含多少个偶数,多少个奇数

07:开发一个程序,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。来观察测试者体重是否合适。

08: 判断此考试成绩为什么等级。

90-100之间为优秀

80-89之间为优良

70-79之间为良好,

60-69之间为及格

60分以下为不及格。

09: 写一个程序,输出类似09:03:12的时间格式,需要判断输入的数字是否符合实际情况,比如小时数就不能大于24,如果大于24就提示输入错误;分钟数和秒数不能大于60,如果大于60就提示输入错误。

10: 有3个整数,给出提示信息:

能否创建三角形;

如果能构建三角形,提示是直角三角形还是等边三角形等腰三角形还是普通三角形;

最后输出三角形面积;

 

01: 使用if选择结构判断一个整数,属于哪个范围:大于0;小于0;等于0



	/*
	 * 练习01:使用if选择结构判断一个整数,属于哪个范围:大于0;小于0;等于0
	 */
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个整数:");
		int num = sc.nextInt();
		if (num > 0) {
			System.out.println("大于0");
		} else if (num == 0) {
			System.out.println("等于0");
		} else {
			System.out.println("小于0");
		}
		sc.close();
	}

02:使用if选择结构判断一个整数是偶数还是奇数。



	/*
	 * 练习02:使用if选择结构判断一个整数是偶数还是奇数。
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个整数:");
		int num = sc.nextInt();
        //能整除2的数是偶数
		if (num % 2 == 0) {
			System.out.println("偶数");
		} else {
			System.out.println("奇数");
		}

		sc.close();
	}

03:使用if选择结构对三个整数进行排序,输出时按照从小到大的顺序输出。


		Scanner sc = new Scanner(System.in);
		System.out.println("请输入第一个整数:");
		int num1 = sc.nextInt();
		System.out.println("请输入第二个整数:");
		int num2 = sc.nextInt();
		System.out.println("请输入第三个整数:");
		int num3 = sc.nextInt();

		// 比较num1和num2,得出较小数,存放在num1变量中,num2中存放较大数
		if (num1 > num2) {
			int temp = num1;
			num1 = num2;
			num2 = temp;
		}

		// 比较num1和num3,得出较小数,存放在num1变量中,num3中存放较大数
		if (num1 > num3) {
			int temp = num1;
			num1 = num3;
			num3 = temp;
		}

		// 比较num2和num3,得出较小数,存放在num2变量中,num3中存放较大数
		if (num2 > num3) {
			int temp = num2;
			num2 = num3;
			num3 = temp;
		}

		// 输出
		System.out.println("三个整数从小到大排列:" + num1 + " " + num2 + " " + num3);

		sc.close();

	

04:使用if选择结构判断一个三位的整数是否是水仙花数。

水仙花数的条件:三位数为abc,则满足:a3+b3+c3=abc



	/*
	 * 练习04:使用if选择结构判断一个三位的整数是否是水仙花数。 水仙花数的条件:三位数为abc,则满足:a^3+b^3+c^3=abc
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个3位整数:");
		int num = sc.nextInt();
		int geWei = num % 10;
		int shiWei = num / 10 % 10;
		int baiWei = num / 100;

		if (geWei * geWei * geWei + shiWei * shiWei * shiWei + baiWei * baiWei * baiWei == num) {
			System.out.println("是水仙花数");
		} else {
			System.out.println("不是水仙花数");
		}
		sc.close();
	}

05:使用if选择结构判断某一年份是否是闰年。

闰年的条件:

普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年);

世纪闰年:能被400整除的为世纪闰年。(如2000年是世纪闰年);



	/*
	 * 练习05:使用if选择结构判断某一年份是否是闰年。 
	 * 		闰年的条件: 
	 * 			普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年);
	 * 			世纪闰年:能被400整除的为世纪闰年。(如2000年是世纪闰年);
	 * 
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个年份:");
		int year = sc.nextInt();
		//普通闰年和世纪闰年都是闰年,满足其中一个条件即可,即用||运算符连接
		if(year%4==0&&year%100!=0||year%400==0){
			System.out.println("闰年");
		}else{
			System.out.println("平年");
		}
		
		sc.close();
	}

06:使用if选择结构判断一个4位整数,统计出此整数各个位包含多少个偶数,多少个奇数



	/*
	 * 练习06:使用if选择结构判断一个4位整数,统计出此整数各个位包含多少个偶数,多少个奇数
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个4位整数:");
		int num = sc.nextInt();
		int geWei = num % 10;
		int shiWei = num / 10 % 10;
		int baiWei = num / 100 % 10;
		int qianWei = num / 1000;

		int evenNumber = 0;// 初始化偶数数量为0
		int oddNumber = 0;// 初始化奇数数量为0
		
		if (geWei % 2 == 0) {
			evenNumber++;
		} else {
			oddNumber++;
		}

		if (shiWei % 2 == 0) {
			evenNumber++;
		} else {
			oddNumber++;
		}

		if (baiWei % 2 == 0) {
			evenNumber++;
		} else {
			oddNumber++;
		}

		if (qianWei % 2 == 0) {
			evenNumber++;
		} else {
			oddNumber++;
		}

		System.out.println("偶数个数:" + evenNumber + "\n奇数个数:" + oddNumber);

		sc.close();
	}

07:开发一个程序,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。来观察测试者体重是否合适。



	/*
	 * 练习07:开发一个程序,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。来观察测试者体重是否合适。
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入你的身高(cm):");
		double height = sc.nextDouble();
		System.out.println("请输入你的体重(斤):");
		double weight = sc.nextDouble();
		double standardWeight = (height - 108) * 2;
		
		//输出标准体重
		System.out.println("标准体重:" + standardWeight);

		if ((weight >= standardWeight - 10) && (weight <= standardWeight + 10)) {
			System.out.println("体重合适");
		} else if (weight < standardWeight - 10) {
			System.out.println("体重偏轻");
		} else {
			System.out.println("体重偏重");
		}
		sc.close();
	}

08: 判断此考试成绩为什么等级。

90-100之间为优秀

80-89之间为优良

70-79之间为良好,

60-69之间为及格

60分以下为不及格。



	/*
	 * 练习08:判断此考试成绩为什么等级。 
	 * 		90-100之间为优秀 
	 * 		80-89之间为优良 
	 * 		70-79之间为良好 
	 * 		60-69之间为及格 
	 * 		60分以下为不及格
	 * 		使用if-else-if多分支选择结构
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入成绩:");
		double score = sc.nextDouble();

		if (score >= 90 && score <= 100) {
			System.out.println("优秀");
		} else if (score >= 80) {
			System.out.println("优良");
		} else if (score >= 70) {
			System.out.println("良好");
		} else if (score >= 60) {
			System.out.println("及格");
		} else {
			System.out.println("不及格");
		}
		sc.close();
	}

09: 写一个程序,输出类似09:03:12的时间格式,需要判断输入的数字是否符合实际情况,比如小时数就不能大于24,如果大于24就提示输入错误;分钟数和秒数不能大于60,如果大于60就提示输入错误。



	/*
	 * 练习09:写一个程序,输出类似09:03:12的时间格式。
	 * 
	 * 	需要判断输入的数字是否符合实际情况,比如小时数就不能大于24,如果大于24就提示输入错误;
	 * 	分钟数和秒数不能大于60,如果大于60就提示输入错误。
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入小时:");
		int hour = sc.nextInt();
		//输入小时数,当小于0或大于24时,不符规范,输出输入错误
		if (hour > 24 || hour < 0) {
			System.out.println("输入错误");
		}

		System.out.println("请输入分钟:");
		int minute = sc.nextInt();
		if (minute < 0 || minute > 60) {
			System.out.println("输入错误");
		}

		System.out.println("请输入秒:");
		int second = sc.nextInt();
		if (second < 0 || second > 60) {
			System.out.println("输入错误");
		}
		//输出格式 xx-xx-xx
		//当小时数,分钟数,秒数小于10时,前面数字是0,故需要分情况输出
		String newHour;
		String newMinute;
		String newSecond;
		
		if (hour >= 0 && hour <= 9) {
			newHour = "0" + hour;
		} else {
			newHour = "" + hour;
		}

		if (minute >= 0 && minute <= 9) {
			newMinute = "0" + minute;
		} else {
			newMinute = "" + minute;
		}

		if (second >= 0 && second <= 9) {
			newSecond = "0" + second;
		} else {
			newSecond = "" + second;
		}

		System.out.println("时间:" + newHour + ":" + newMinute + ":" + newSecond);
		sc.close();

	}

10: 有3个整数,给出提示信息:

能否创建三角形;

如果能构建三角形,提示是直角三角形还是等边三角形等腰三角形还是普通三角形;

最后输出三角形面积;



	/*
	 * 练习10:有3个整数,给出提示信息: 能否创建三角形; 如果能构建三角形,提示是直角三角形还是等边三角形等腰三角形还是普通三角形;最后输出三角形面积;
	 * 
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入第一个整数:");
		int a = sc.nextInt();
		System.out.println("请输入第二个整数:");
		int b = sc.nextInt();
		System.out.println("请输入第三个整数:");
		int c = sc.nextInt();
		//外层if判断是否是三角形
		if (a + b > c && a + c > b && b + c > a) {
			System.out.println("你输入的三个数能构建三角形");
			//内层判断时什么三角形
			if (a == b && a == c) {
				System.out.println("等边三角形");
			}

			if (a == b && a != c || a == c && a != b || b == c && b != a) {
				System.out.println("等腰三角形");
			}

			if ((a * a + b * b == c * c) || (a * a + c * c == b * b) || (c * c + b * b == a * a)) {
				System.out.println("直角三角形");
			}

			if ((a != b && a != c && b != c)
					&& ((a * a + b * b != (c * c)) && (a * a + c * c != (b * b)) && (c * c + b * b != (a * a)))) {
				System.out.println("普通三角形");
			}
			double zhouChang = a + b + c;
			double p = zhouChang / 2;
			System.out.println("p:" + p);

			double area = Math.sqrt(p * (p - a) * (p - b) * (p - c));
			System.out.println("三角形面积:" + area);

		} else {
			System.out.println("你输入的三个整数不能构建三角形");
		}
		sc.close();

	}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值