第十四次 java作业

这个博客包含了四个Java编程实例:计算飞机的加速度,模拟苹果销售过程,比较两个地点的距离以及模拟七星彩彩票购买和中奖计算。通过这些实例,展示了基础的数学运算、用户输入处理、条件判断和随机数生成等编程概念。

目录

一、飞机的加速度

二、卖苹果

三、更近的地点

四、七星彩


 一、飞机的加速度 

public class Sudu {//创建类
	public static void main(String[] args) {//主方法
		float a=15.5f;//定义一个浮点型变量并赋值
		  int b=1050;//定义一个整型变量并赋值
		  System.out.println("飞机的滑行时间:"+a+"秒");//输出信息
		  System.out.println("飞机的滑行距离:"+b+"米");//输出信息
		  System.out.println("飞机的加速度:"+2*b/Math.pow(a, 2)+"平方米每秒");//计算加速度并输出
	}
}

二、卖苹果

import java.util.Scanner;//导入要用到的包
public class Sale {//创建类
	public static void main(String[] args) {//主方法
		double a=2.49;//定义一个double类型的变量并赋值
		  System.out.println("苹果售价:"+a+"元RMB/斤。");//输出信息
		  Scanner b=new Scanner(System.in);//设置控制台输入
		  System.out.print("输入顾客购买苹果的重量(斤):");//输出信息
		  int c=b.nextInt();//输入斤数
		  double d=Math.round(a*c);//计算总价
		  System.out.println("顾客购买的苹果总价格为"+d+"RMB。");//输出信息
		  System.out.println("顾客的应付金额为"+(int)d+"RMB");//输出信息
	}
}

三、更近的地点

public class Didian {//创建类
	public static void main(String[] args) {//主方法
		double a=3.8;//定义一个double型变量并赋值
		  double b=4.2;//定义一个double型变量并赋值
		  double c=3.2;//定义一个double型变量并赋值
		  double d=4.5;//定义一个double型变量并赋值
		  double e=Math.min(a+b, c+d);//求最小值
		  if(e==a+b)//判断是否等于a+b
			System.out.println("B点距A点更近");//输出结果
		if (e == c+d)//判断是否等于c+d
			System.out.println("C点距A点更近");//输出结果
	}
}

 

四、七星彩

import java.util.Random;//导入需要的java.util.Random包
import java.util.Scanner;//导入需要的java.util.Scanner包
public class Qicaixing {//创建类
	public static void main(String[] args) {//主方法
		Scanner sc = new Scanner(System.in); // 控制台输入
		System.out.print("请输入您要购买的彩票数:"); // 提示信息
		int counts = sc.nextInt(); // 输入“购买的彩票数”
		Random rnd = new Random(); // 创建随机号码对象r
		int nums[] = new int[counts]; // 声明一个int类型“购买彩票”的数组,用来存放购买的彩票号码
		System.out.println("您购买的彩票号码如下:"); // 提示信息
		for (int i = 0; i < counts; i++) { // 遍历“购买彩票”的数组
			int randNum = rnd.nextInt(8999999) + 1000000; // 7位彩票号码,范围是1000000~9999999
			System.out.println(randNum); // 输出随机生成的彩票号码
			nums[i] = randNum;// 把随机生成的彩票号码插入“购买彩票”的数组
		}
		int useMoney = nums.length * 2;// 购买彩票花费的金额
		System.out.println("您购买彩票的号码量:" + counts + "张,共消费:" + useMoney + "元。");// 输出结果
		int getMoney = 0; // 初始化“中奖金额”
		int bonus = rnd.nextInt(8999999) + 1000000; // 7位“开奖号码”,范围是1000000~9999999
		System.out.println("本期开奖号 : " + bonus);  //输出本期开奖号
		String rightNum = Integer.toString(bonus); // 类型转换
		for (int l = 0; l < nums.length; l++) { // 遍历由购买彩票组成的数组
			String myNum = Integer.toString(nums[l]); // 彩票号码
			int series = 0; // 初始化中“我的号码”跟开奖号一样的连续号码的组数
			int arr[] = new int[7]; // 声明一个int类型的数组,用来存放跟开奖号一样的连续号码的组数
			for (int m = 0; m < 7; m++) {// 7位号码
				String everyNum = myNum.substring(m, m + 1); // 分别截取“我的号码”每一位上的字符串
				String everyRightNum = rightNum.substring(m, m + 1); // 分别截取“开奖号”每一位上的字符串
				if (everyNum.equals(everyRightNum)) { // 判断“我的号码”跟“开奖号”每位上的号码字是否相同
					series++; // 条件成立时,统计“我的号码”跟开奖号一样的连续号码的组数
				} else { // 条件不成立时
					if (series > 0) {// 如果有中奖的号码
						arr[series - 1] = series;// 把中奖的号码插入号码组
						series = 0;// 初始化中“我的号码”跟开奖号一样的连续号码的组数
					}
				}
			}
			for (int i = 0; i < arr.length; i++) {  // 求最大的连续号码的组数
				if (series < arr[i]) {  //数组约束
					series = arr[i];//数组约束
				}
			}
			if (series > 1) { // 连续号码的组数大于1
				switch (series) { // 多分支语句
				case 2:    //case语句
					System.out.println("您赢得了5元!");  //输出您赢得了5元!
					getMoney += 5;   // 六等奖5元
					break;   //跳出循环
				case 3:			//case语句
					System.out.println("您赢得了20元!");//输出您赢得了20元!
					getMoney += 20; // 五等奖20元
					break;        //跳出循环
				case 4:				//case语句
					System.out.println("您赢得了300元!");//输出您赢得了300元!
					getMoney += 300; // 四等奖300元
					break;         //跳出循环
				case 5:     //case语句
					System.out.println("您赢得了1800元!");//输出您赢得了1800元!
					getMoney += 1800; // 三等奖1800元
					break;       //跳出循环
				case 6:      //case语句
					System.out.println("您赢得了20000元!");
					getMoney += 20000; // 二等奖20000元
					break;        //跳出循环
				case 7:     //case语句
					System.out.println("您赢得了5000000元!");
					getMoney += 5000000; // 一等奖5000000元
					break;     //跳出循环
				}
			}
		}
		System.out.println("您中奖的总金额:" + getMoney + "元。"); // 总奖金
		sc.close(); // 关闭控制台输入
	}
}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值