你自以为的极限,只是别人的起点
题目要求:输入华氏温度值,转换为摄氏温度输出,华氏温度转换为摄氏温度 C=(5(F-32))/9。
解题思路:
输入华氏温度值
将华氏温度转换成摄氏温度。
(2.1)将华氏温度根据转化公式计算摄氏温度。
(3)输出摄氏温度。
程序代码:
package HomeWork.Part1;
import java.util.Scanner;
public class HomeWork_Part01_01_WenDuZhuanHuan {
public static void main(String[] args) {
System.out.println("请输入一个华氏温度值:");
Scanner scan = new Scanner(System.in);
float temperature1 = scan.nextFloat();
float temperature2 = 5*(temperature1-32)/9;
System.out.printf("该华氏温度对应的摄氏温度为:%.2f",temperature2);
}
}
测试结果:
请输入一个华氏温度值:
899
该华氏温度对应的摄氏温度为:481.67
心得体会:
新建的包符号“.”可以用来表示下一级包。
题目要求:输入圆形的半径(假设为整型),计算圆形的面积,面积要求定义成单精度浮点型
解题思路:
输入半径
根据圆面积公式计算圆的面积。
输出结果。
程序代码:
package HomeWork.Part1;
import java.util.Scanner;
public class HomeWork_Part01_01_YuanMianJI {
public static final float PI= 3.141592f;
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("请输入圆的半径:");
float radius = scan.nextFloat();
float area = PI*(radius*radius);
System.out.println("圆的面积为:"+area);
}
}
测试结果:
请输入圆的半径:
3
圆的面积为:28.274328
心得体会:
单精度浮点型数据需要在数据后面写“l”或“L”,否者会报错。如果为double型可以不写。
题目要求:输入球的半径,计算球的体积,体积公式:V=4/3 πr^3
解题思路:
输入球的半径
根据球的体积公式计算球的体积。
将球的体积输出。
程序代码:
package HomeWork.Part1;
import java.util.Scanner;
public class HomeWork_Part01_03_QiuDeTiJI {
public static final float PI =3.141592f;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入球的半径:");
float radius = scan.nextFloat();
float volume = (float) (4*PI*(Math.pow(radius,3))/3);
System.out.println("球的体积为:"+volume);
}
}
测试结果:
请输入球的半径:
1
球的体积为:4.1887894
心得体会:
Math类的pow方法得到的结果为double类型,如果赋值给float类型的变量,需要进行强制类型转换。
E201_01_04计算三角形面积
题目要求:输入三角形的三个边长(假设为整型),根据海伦公式计算三角形的面积,海伦公式如下:
面积= √(s(s-a)(s-b)(s-c) ),其中s=(a+b+c)/2
解题思路:
输入三角形的三个边长。
根据海伦公式面积= √(s(s-a)(s-b)(s-c) ),其中s=(a+b+c)/2
计算三角形的面积。
输出面积。
程序代码:
package HomeWork.Part1;
import java.util.Scanner;
public class HomeWork_Part01_04_SanJiaoXingMianJi {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入三角形的各边长:");
float length1 = scan.nextFloat();
float length2 = scan.nextFloat();
float length3 = scan.nextFloat();
float s = (length1+length2+length3)/2;
float area = (float)(Math.sqrt((s-length1)*(s-length2)*(s-length3)));
System.out.println("三角形的面积为:"+area);
}
}
测试结果:
请输入三角形的各边长:
1
1
1
三角形的面积为:0.35355338
心得体会:
强制类型转换float自身需要括号。
题目要求:在鬼谷算题中有这样一个著名的题目:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”这属于高等数学中的数论。我国宋代学者对这类题目钻研已颇为精深,总结出了“三人同行七十稀,五树梅花廿一枝,七子团圆正半月,去百零五便得知。” 也就是三的余数乘以70,五的余数乘以21,七的余数乘以15,然后对105求余即可。
解题思路:
三的余数乘以70,五的余数乘以21,7的余数乘以15,并将其相加,然后对105求余,其余数即为结果。
输出结果。
程序代码:
package HomeWork.Part1;
import java.util.Scanner;
public class HomeWork_Part01_05_QiuShu {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("某数对3的余数是:");
int a = scan.nextInt();
System.out.println("某数对5的余数是:");
int b = scan.nextInt();
System.out.println("某数对7的余数是:");
int c = scan.nextInt();
float result = ((a*70)+(b*21)+(c*15))%105;
System.out.println("该数为"+result);
}
}
测试结果:
该数为23.0
心得体会:
解决问题的方法很重。
题目要求:输入通话时长(秒),计算通话费用。费用按分钟计费,不足一分的按一分钟计算,资费标准0.2元/分钟。
解题思路:
输入通话时间。
判断通话时间是否少于一分钟。
(2.1)少于一分钟大于0秒的按一个分钟计算。
(2.2)为0的,费用为0.
(2.3)大于等于一分钟的按标准计算。
(3)输出费用。
程序代码:
package HomeWork.Part1;
import java.util.Scanner;
public class HomeWork_Part01_06_HuaFei {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入通话时长(秒):");
int second = scan.nextInt();
int minute = (int)Math.ceil(second/60d);
float cost = 0f;
if(second == 0||second < 0){
cost=0l;
}
else {
cost = minute*0.2f;
}
System.out.println("需要的话费为:"+cost);
}
}
测试结果:
请输入通话时长(秒):
35
需要的话费为:0.2
心得体会:
当数据为float的类型时,需要在其后面添加”f”,”F”,否则会默认为double类型。
关注公众号【轻松玩编程】回复关键字“电子书”,“计算机资源”,“Java从入门到进阶”,”JavaScript教程“,“算法”,“Python学习资源”,“人工智能”等即可获取学习资源。