Java基本语法——循环语句1.1

练习题1

class IfExer {
	public static void main(String[] args) {
		int x = 4;
		int y = 1;
		if (x > 2){
			if (y > 2)
                System.out.println(x + y);
                //相当于在这个语句后面打},因为if只能罩住一行(在没打括号的情况下)
				System.out.println("atguigu");
				//if只能罩住一行,所以本题的输出结果为:atguigu
		}else 
				System.out.println("x is " + x);

如果这个题改一下,变成下面这样

class IfExer {
	public static void main(String[] args) {
		int x = 4;
		int y = 1;
		if (x > 2)
			if (y > 2)
                System.out.println(x + y);
				//System.out.println("atguigu");
		else //这个else究竟和哪个if配对呢,我们遵循就近原则
				System.out.println("x is " + x);
				//所以本题的输出结果为:x is 4

练习题2

我家的狗5岁了,5岁的狗相当于人类多大呢?其实,狗的前两年每一年相当于人类的10.5岁,之后每增加一年就增加四岁。那么5岁的狗相当于人类多少年龄呢?应该是:10.5 + 10.5 + 4 + 4 + 4 = 33岁。
编写一个程序,获取用户输入的狗的年龄,通过程序显示其相当于人类的年龄。如果用户输入负数,请显示一个提示信息。

import java.util.Scanner;

class IfExer {
	public static void main(String[] args) {
			Scanner input = new Scanner(System.in);
			int dogAge = input.nextInt();
			if(dogAge >= 0 && dogAge <= 2){
				System.out.println("相当于人的年龄:" + 10.5 * dogAge);
			}else if(dogAge > 2){
				System.out.println("相当于人的年龄:" + 21 + 4 * (dogAge-2));
			}else{
				System.out.println("别瞎打年龄!");
			}

练习题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]


		/*课后练习:如何获取一个随机数:10 - 99
		int value = (int)(Math.random() * 90 + 10);// [0.0,1.0) --> [0.0,90.0) --->[10.0, 100.0) -->[10,99]
		System.out.println(value);
		//公式:[a,b]  :  (int)(Math.random() * (b - a + 1) )+ a
		*/
import java.util.Scanner;
public class ifElseTest3 {
		public static void main(String args[]){
			int value = (int)(Math.random() * 90 + 10);
			//获取一个10-99的随机数,注意获取随机数的表示方法
			Scanner input = new Scanner(System.in);
			System.out.println("请输入您的彩票号码:");
			int guess = input.nextInt();
			if(value == guess){
				System.out.println("本次中奖号码为:" + value);
				System.out.println("恭喜你获得奖金1w美元");
			}else if((value / 10) == (guess % 10) && (value % 10) == (guess / 10)){
				System.out.println("本次中奖号码为:" + value);
				System.out.println("恭喜你获得奖金3k美元");
			}else if((value / 10) == (guess / 10) || (value % 10) == (guess % 10)){
				System.out.println("本次中奖号码为:" + value);
				System.out.println("恭喜你获得奖金1k美元");
			}else if((value / 10) == (guess % 10) || (value % 10) == (guess / 10)){
				System.out.println("本次中奖号码为:" + value);
				System.out.println("恭喜你获得奖金500美元");
			}else{
				System.out.println("本次中奖号码为:" + value);
				System.out.println("恭喜你啥都没有~");
			}
		}
}

这是我自己写的代码,没有看尚硅谷老师的答案,但是编译运行测试了很多次。可行,如果你们觉得中间有什么不严谨的地方,或者有更简洁的方法,可以评论或者私信告诉我,多谢指教。

练习题4

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

  • 如果这三个条件同时满足,则:“我一定要嫁给他!!!”
  • 如果三个条件有为真的情况,则:“嫁吧,比上不足,比下有余。”
  • 如果三个条件都不满足,则:“不嫁!”

提示:
Sysout(“身高: (cm))
scanner.nextInt();
Sysout(“财富: (千万))
scanner.nextDouble();
Sysout(“帅否: (true/false)) (是/否)
scanner.nextBoolean(); scanner.next(); “是”.equals(str)

这是我第一次写的代码,非常的冗长,虽然能够运行,但是太费时间

import java.util.Scanner;

public class ifElseTest4 {
		public static void main(String args[]){
			System.out.println("请输入男方的身高:");
			Scanner input1 = new Scanner(System.in);
			int Height = input1.nextInt();
			System.out.println("请输入男方的财富:");
			Scanner input2 = new Scanner(System.in);
			int Wealth = input2.nextInt();
			System.out.println("请输入男方是否帅:");
			Scanner input3 = new Scanner(System.in);
			boolean Handsome = input3.nextBoolean();
			if(Height >= 180){
				if (Wealth >= 10000000){
					if(Handsome == true){
						System.out.println("我一定要嫁给他!");
					}else{
						System.out.println("嫁吧,比上不足,比下有余");
					}
				}else{
					System.out.println("嫁吧,比上不足,比下有余");
				}
			}else{
				if(Wealth < 10000000){
					if(Handsome == false){
						System.out.println("不嫁!");
					}else{
						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 height = scan.nextInt();
		System.out.println("请输入你的财富:(千万)");
		double wealth = scan.nextDouble();

		/*
		方式一:
		System.out.println("请输入你是否帅:(true/false)");
		boolean isHandsome = scan.nextBoolean();

		if(height >= 180 && wealth >= 1 && isHandsome){
			System.out.println("我一定要嫁给他!!!");
		}else if(height >= 180 || wealth >= 1 || isHandsome){
			System.out.println("嫁吧,比上不足,比下有余。");
		}else{
			System.out.println("不嫁!");
		}
		*/

		//方式二:
		System.out.println("请输入你是否帅:(是/否)");
		String isHandsome = scan.next();

		//String不要用==来对比要用.equals("")来对比
		if(height >= 180 && wealth >= 1 && isHandsome.equals("是")){
			System.out.println("我一定要嫁给他!!!");
		}else if(height >= 180 || wealth >= 1 || isHandsome.equals("是")){
			System.out.println("嫁吧,比上不足,比下有余。");
		}else{
			System.out.println("不嫁!");
		}
	}
}

其实本来想到了,只是有点模糊对于&&,|| 的用法。。。

本篇到此为止。1


  1. 又是一个无趣的周末,LOL打了几把心态炸了,感觉就不知道要怎么玩了。。。然后就把这个上次本该结束的if-else的习题写了一遍,期间也感觉挺浮躁的,不过也算安安分分的把每个题目都敲了一遍,稍微休息一下吧。继续加油~~ ↩︎

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独行侠329

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值