Java第十四次作业

这篇博客主要探讨了使用Java进行编程实践的四个问题:如何计算飞机的加速度,实现卖苹果的算法,找出更近的地点,以及模拟七星彩的随机数生成。通过这些实例,深入理解Java在解决实际问题中的应用。
摘要由CSDN通过智能技术生成

1.飞机的加速度

public class RefTest {//创建类
	public static void main(String[] args) {//主函数
		// TODO Auto-generated method stub
		  double time=15.5;//滑行时间为15.5秒
		    int a=1050;//滑行距离为1050米。
		    double b=2*a/Math.pow(time, 2);//计算飞机起飞的加速度
		    System.out.println("飞机起飞的加速度:"+String.format("%.2f",b)+"(米/每秒的平方)");//输出飞机起飞的加速度
	}
 
}

2.卖苹果

import java.util.Scanner;  //导入需要的java.util.Scanner包
public class RefTest {  //创建类
	public static void main(String[] args) {  //主函数
		// TODO Auto-generated method stub
		int a = 5;    //定义初值
		System.out.println("苹果售价:2.49元RMB/斤");//输出提示信息
        System.out.println("输入顾客购买苹果的重里(斤):");  //输出输入顾客购买苹果的重里(斤)
        Scanner sc = new Scanner(System.in);    //创建System对象,用于进行输入
        int word = sc.nextInt();       //从键盘获取输入的值
        double mokey = (a/word)*2.49;  //计算苹果总价格
        System.out.println("顾客购买的苹果总价格为:"+Math.rint(mokey)+"RMB");//四舍五入输出价格
        System.out.println("顾客的应付金额为:"+Math.rint(mokey)+"RMB");//输出顾客的应付金额信息
 
	}
 
}

 

 3.更近的地点

public class RefTest {//创建类
	public static void main(String[] args) {  //主函数
		// TODO Auto-generated method stub
		double b= Math.sqrt(Math.pow(3.8, 2) + Math.pow(4.2, 2));//B点在坐标轴的坐标
		double c = Math.sqrt(Math.pow(3.2, 2) + Math.pow(4.5, 2));//C点在坐标轴的坐标
		double a = Math.min(b, c);//输出b c点最短坐标
		if (b == a)//判断b坐标到原点的距离
			System.out.println("B点距离A点更近");//输出结果
		if (c== a)//判断b坐标到原点的距离
			System.out.println("C点距离A点更近");//输出结果
	}
 
}

4.七星彩

import java.util.Random;//导入需要的java.util.Random包
import java.util.Scanner;//导入需要的java.util.Scanner包
public class RefTest {    //创建类
	public static void main(String[] args) {   //主函数
		// TODO Auto-generated method stub
		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元!");//输出您赢得了20000元!
					getMoney += 20000; // 二等奖20000元
					break;        //跳出循环
				case 7:     //case语句
					System.out.println("您赢得了5000000元!");//输出您赢得了5000000元
					getMoney += 5000000; // 一等奖5000000元
					break;     //跳出循环
				}
			}
		}
		System.out.println("您中奖的总金额:" + getMoney + "元。"); // 总奖金
		sc.close(); // 关闭控制台输入
	}
 
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值