Java从入门到放弃篇16(Java日常练习5)

因为,这几天在刷python题。觉得Java也有段时间没发文了。今天有时间,接着跟大家分享一波Java编程。

首先,我们先在src文件夹中新建一个名为second的包,接着再新建名为Example12的Java文件。最后,再将下面的代码放进文件中。

代码如下图:

package second;
/**
 * Author:Mr.Pan_学狂
 * Finish_time:2021/4/11/23:13
 * Java Practice
 */
import java.util.*;
class Example12{
	public static void main(String[] args) {
		System.out.println("Java使我快乐!!");
		System.out.println();
		test();
		test2();
		test3();
		test4();
		test5();
		test6();
		test7();
		test8();
		test9();
		test10();
		test11();
		test12();
		test13();
		test14();
		test15();
		test16();
		test17();
		test18();
		test19();
	}
	
	public static void test() {
		System.out.println("第一道练习题");
		//计算圆柱体的体积
		//面积=半径*半径*π
		//体积=面积*高
		Scanner input = new Scanner(System.in);//创建输入对象
		System.out.print("请输入圆柱体的半径和高:");//当行输入
		double r = input.nextDouble();//输入圆柱体的半径
		double Height = input.nextDouble();//输入圆柱体的高
		double S = Math.pow(r,2) * Math.PI;//圆面积的计算公式,S = r * r * PI
		double Volume = S * Height;//体积计算公式,Volume = S * Height
		System.out.printf("圆柱体的面积是%2.4f\n",S);//格式化输出,保留4位小数
		System.out.printf("圆柱体的体积是%4.1f\n",Volume);//格式化输出,保留1位小数
		System.out.println();
	}
	
	public static void test2() {
		System.out.println("第二道练习题");
		Scanner input = new Scanner(System.in);//创建输入对象
		System.out.print("请输入英尺数:");//当行输入
		double feet = input.nextDouble();//获取输入的英尺数,double类型,双精度浮点数。
		double Metre = feet * 0.305;//米与英尺之间的换算公式
		System.out.printf(feet+"英尺是%1.2f米\n",Metre);/*米的整数长度设为1(可自增),
		小数设为2位。保留两位小数*/
		System.out.println();
	}
	
	public static void test3() {
		System.out.println("第三道练习题");
		Scanner input = new Scanner(System.in);//创建一个输入对象
		System.out.print("请输入磅数:");
		double Pounds = input.nextDouble();//获取输入的磅数
		double KG = Pounds * 0.454;
		System.out.printf(Pounds+"磅是%1.3f千克\n",KG);//格式化输出,保留三位小数
		System.out.println();
	}
	
	public static void test4() {
		System.out.println("第四道练习题");
		Scanner input = new Scanner(System.in);
		System.out.print("请输入费用与酬金率:");
		double pay = input.nextDouble();//费用
		double CJLV = input.nextDouble();//酬金率
		CJLV = (CJLV / 100);//酬金率换算
		double money = pay * CJLV;//酬金
		double All_pay = pay + money;//费用加上酬金,总费用
		System.out.printf("酬金是%1.2f,总费用为%1.2f\n",money,All_pay);//格式化输出,保留两位小数。
		System.out.println();
	}
	
	public static void test5() {
		System.out.println();
		System.out.println("第五道练习题");
		Scanner input = new Scanner(System.in);//创建输入对象
		System.out.print("请输入一个整数(三位数):");
		int Integer = input.nextInt();//获取输入的整数
		int first_num = Integer % 10;//计算第一个数字
		int second_num = (Integer / 10) % 10;
		int third_num = Integer / 100;
		int sum = first_num + second_num + third_num;
		System.out.println("各位数字的求和结果是"+sum);
		System.out.println();
	}
	
	public static void test6() {
		System.out.println("第六道练习题");
		Scanner input = new Scanner(System.in);
		System.out.print("请输入分钟数:");
		int minutes = input.nextInt();
		int hours = minutes / 60;//小时与分钟数的转换
		int days = hours / 24;//天数与小时数的转换
		int years = days / 365;//年数与天数的转换
		int day = days % 365;//余下多少天
		System.out.println(minutes+"分钟是 "+years+"年 和 "+day+"天");
		System.out.println();
	}
	
	public static void test7() {
		System.out.println("第七道练习题");
		Scanner input = new Scanner(System.in);//创建输入对象
		System.out.print("请输入整数,[0,128]:");//当行输入
		int Ord_num = input.nextInt();//接收字符的整数值
		char change_char = (char)(Ord_num);//转换成字符
		System.out.println("整数"+Ord_num+"转换成字符"+change_char);
		System.out.println();
	}
	
	public static void test8() {
		System.out.println("第八道练习题");//财务应用程序,工资单。
		Scanner input = new Scanner(System.in);//创建输入对象
		System.out.print("请输入员工的名字:");//当行输入
		String name = input.next();//获取输入的字符串,名字
		System.out.print("请输入工作时间:");
		int time = input.nextInt();//获取工作时间
		System.out.print("每小时赚多少美元?");
		double time_money = input.nextDouble();//每小时赚的钱
		System.out.print("联邦所得税率:");//联邦所得税率
		double LBSLV = input.nextDouble();
		double LBSLV2 = LBSLV * 100;
		System.out.print("州所得税率:");//州所得税率
		double ZSLV = input.nextDouble();
		double ZSLV2 = ZSLV * 100;
		double gross_pay = time_money * time;//总工资
		double Federal_Withholding = gross_pay * LBSLV;//联邦税扣除的钱
		double State_Withholding = gross_pay * ZSLV;//州扣除的钱
		double Total_Deduction = Federal_Withholding + State_Withholding;//总计扣除的钱
		double Last_money = gross_pay - Total_Deduction;//剩余的钱
		System.out.println("员工名字:"+name);
		System.out.println("工作时间:"+time);
		System.out.println("每小时赚:$"+time_money);
		System.out.println("总工资:$"+gross_pay);
		System.out.println("扣除的钱:");//扣除额
		System.out.print("  联邦扣除额("+LBSLV2+"%): ");
		System.out.printf("$%1.1f",Federal_Withholding);//格式化输出,保留1位小数
		//联邦扣除税额保留一位小数,州扣除税额保留两位小数
		System.out.println();
		System.out.print("  州扣除额("+ZSLV2+"%): ");
		System.out.printf("$%1.2f",State_Withholding);//格式化输出,保留两位小数
		System.out.println();
		System.out.printf("  总计扣除额: $%1.2f\n",(Total_Deduction));//格式化输出,保留两位小数,转义符换行
		System.out.printf("剩余的钱: $%1.2f\n",Last_money);//格式化输出,保留两位小数。
		System.out.println();
	}
	
	public static void test9() {
		System.out.println("第九道练习题");
		//财务应用程序:计算利息
		Scanner input = new Scanner(System.in);//创建输入对象
		System.out.print("收支余额和年百分利率:");
		double YE = input.nextDouble();
		double NLLV = input.nextDouble();
		double LX = YE * (NLLV/1200);//利息计算公式
		System.out.printf("利息:%1.5f\n",LX);//保留5位小数
		System.out.println();
	}
	
	public static void test10() {
		System.out.println("第十道练习题");
		Scanner input = new Scanner(System.in);//创建输入对象
		//未来投资金额计算
		System.out.print("投资额:");
		double investmentAmount = input.nextDouble();//投资额
		System.out.print("年度利息:");
		double monthlyRate = input.nextDouble();//月利息
		double annuallyInterestRate = monthlyRate / 1200;//年度利息
		System.out.print("年数:");
		int numberOfyears = input.nextInt();//输入年数
		double Future_value = investmentAmount * Math.pow((1 + annuallyInterestRate),numberOfyears*12);
		System.out.printf("未来投资额:%1.2f\n",Future_value);
		System.out.println();
	}
	
	public static void test11() {
		System.out.println("第十一道练习题");
		Scanner input = new Scanner(System.in);//创建输入对象
		System.out.print("请输入体重(磅):");
		double weight = input.nextDouble();
		System.out.print("请输入身高(英寸):");
		double height = input.nextDouble();
		double Kg = weight * 0.45359237;//磅转换成公斤
		double metre = height * 0.0254;//英寸转换成米
		double BMI = Kg / Math.pow(metre,2);
		System.out.printf("BMI是:%1.4f\n",BMI);
		System.out.println();
	}
	
	public static void test12() {
		System.out.println("第十二道练习题");
		//输入钱和存款月数,计算每个月的余额。
		Scanner input = new Scanner(System.in);//创建输入对象
		System.out.print("请输入每月向银行存的钱($):");
		double money = input.nextDouble();//输入每月向银行存的钱
		System.out.print("请输入要存的月数:");
		int month = input.nextInt();
		double YLLV = 0.00417;//月利率
		double sum = 0;//求和初始值为0
		for(int i=0;i<month;i++){
			double YE = (money+sum) * (1+YLLV);//余额计算公式
			sum = YE;//将余额赋值给sum值方便下一个月余额的计算。
			System.out.printf("第"+(i+1)+"月的余额为:$%1.3f\n",YE);//格式化打印输出结果并换行。
		}
		System.out.println();
	}
	
	public static void test13() {
		System.out.println("第十三道练习题");
		Scanner input = new Scanner(System.in);//创建输入对象
		System.out.print("请输入初始温度与结束温度:");
		double start_tempture = input.nextDouble();//开始温度
		double end_tempture = input.nextDouble();//结束温度
		System.out.print("请输入水的质量:");
		double M = input.nextDouble();//水的质量
		double Q = M * (end_tempture-start_tempture) * 4184;//能量计算公式
		System.out.println("需要能量为:"+Q);
		System.out.println();
	}
	
	public static void test14() {
		System.out.println("第十四道练习题");
		//打印表格
		Scanner input = new Scanner(System.in);
		System.out.print("请输入数字打印表格:");
		int number = input.nextInt();
		System.out.println("a	b	pow(a,b)");
		for (int i=1;i<number+1;i++) {
			int a = i;//将i值赋给a,作为下面幂函数的第一个实参
			int b = a + 1;//将a+1的值赋给b,作为下面幂函数的第二个实参
			System.out.println(a+"	"+b+"	"+pow(a,b));//调用函数实现int型幂函数的计算。
		}
		System.out.println();
	}
	public static int pow(int a,int b) {/*根据返回值类型,定义一个int型幂函数,设置两个形参a和b。
		设置一个累乘初始值1,开始计算幂函数的累乘。*/
		//System.out.println("幂函数");
		int sum = 1;//设置累乘的初始值为1
		for (int i=0;i<b;i++) {
			sum = sum * a;
		}
		return sum;//返回整形
	}
	
	public static void test15() {
		System.out.println("第十五道练习题");//计算两点间的欧式距离
		Scanner input = new Scanner(System.in);//创建输入对象
		System.out.print("请输入第一个点坐标:");//当行输入
		double x1 = input.nextDouble();
		double y1 = input.nextDouble();
		System.out.print("请输入第二个点坐标:");
		double x2= input.nextDouble();
		double y2 = input.nextDouble();
		double x_distance = Math.pow(x2-x1,2);//x的距离
		double y_distance = Math.pow(y2-y1,2);//y的距离
		double distance = Math.pow(x_distance+y_distance,0.5);//欧式距离计算公式
		System.out.println("两点之间的距离:"+distance);
		System.out.println();
	}
	
	public static void test16() {
		System.out.println("第十六道练习题");
		//计算六边形的面积
		Scanner input = new Scanner(System.in);//创建输入对象
		System.out.print("请输入六边形的边长:");
		double side = input.nextDouble();
		double Area = (3*Math.pow(3,0.5)*Math.pow(side, 2)) / 2;//面积计算公式
		System.out.printf("六边形的面积:%1.4f\n",Area);
		System.out.println();
	}
	
	public static void test17() {
		System.out.println("第十七道练习题");
		//计算平均加速度
		Scanner input = new Scanner(System.in);//创建输入对象
		System.out.print("请输入v0,v1,t计算平均加速度a:");
		double v0 = input.nextDouble();
		double v1 = input.nextDouble();
		double time = input.nextDouble();
		double a = (v1-v0) / time;//平均加速度计算公式
		System.out.printf("初速度v0:"+v0+" m/s\n末速度v1:"+v1+
				" m/s\n平均加速度:%1.4f m/s*s\n",a);  
		//计算结果保留4位小数
		System.out.println();
	}
	
	public static void test18() {
		System.out.println("第十八道练习题");
		//计算飞机起飞所需最短跑道长度
		Scanner input = new Scanner(System.in);
		System.out.print("请输入速度v和加速度a:");
		double v = input.nextDouble();
		double a = input.nextDouble();
		double Length = Math.pow(v, 2) / (2*a);//跑道长度计算公式
		System.out.printf("飞机速度v:"+v+"m/s\n飞机加速度a:"+a+"m/s*s\n跑道长度是:%1.3fm\n",Length);
		//换行和格式化输出,保留三位小数
		System.out.println();
	}
	
	public static void test19() {
		System.out.println("第十九道练习题");
		Scanner input = new Scanner(System.in);//创建输入对象
		System.out.print("请输入两个数字,\n进行布尔表达式判断:");//当行输入
		int num = input.nextInt();
		int num2 = input.nextInt();
		boolean result = 1<num && num<100;//布尔表达式
		if (result) {
			System.out.println(result);//为真,输出true
		}
		else {
			System.out.println(result);//不为真,输出结果false
		}
		boolean result2 = (1<num2 && num2 < 100) || num2 < 0;//布尔表达式
		if (result2) {
			System.out.println(result2);//为真,输出true
		}
		else {
			System.out.println(result2);//不为真,输出结果false
		}
	}
}

运行结果如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
关于代码的解释,写在注释中了,若有疑问可私聊。

最后,感谢大家前来观看鄙人的文章,文中或有诸多不妥之处,还望指出和海涵。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不羁_神话

感谢支持,欢迎交流。

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

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

打赏作者

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

抵扣说明:

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

余额充值