Java练习
3.定义重力加速度常量G,值为9.8,忽略空气阻力等因素,计算从物体100米高度下落到地面需要的时间。
_
4.定义整数变量m和n,输出m~n之间能被3和7同时整除的整数,5个一行,并计算输出它们之和(使用scanner类赋予m和n的值)。
_
5.定义3个getArea方法,实现方法重载,分别可以求圆、矩形和梯形面积。主类中使用命令行参数的形式输入对应数据,根据命令行参数数组长度判断(使用switch语句)出是哪种图形并调用正确的getArea方法计算出面积并输出。
/*
定义重力加速度常量G,值为9.8,忽略空气阻力等因素,计算从物体从100米高度下落到地面需要的时间。
*/
public class Test1{
public static final double G= 9.8;//定义重力加速度常量G,值为9.8,
public static final int h= 100;//定义高度
public static void main(String[] args) {
double t;//定义时间
t = Math.sqrt(h/(0.5*G)); //Math.sqrt函数计算数值的平方根
System.out.println("需要:"+t);//输出结果
}
}
/*
定义整数变量m和n,输出m~n之间能被3和7同时整除的整数,
要求5个一行,并计算输出它们之和(使用scanner类赋予m和n的值)。
*/
import java.util.Scanner;
public class Test2{
public static void main (String args[ ]){
Scanner reader = new Scanner(System.in);//用户输入
int sum = 0;//求和
int m, n, i;//定义
int count = 0;//个数
System.out.print("请输入第一个数:");
m=reader.nextInt();
System.out.print("请输入第二个数:");
n=reader.nextInt();
i=m;//i等于开始的值,小于等于结束的值
for (;i<=n;i++){//用for循环
if (i % 3 == 0 && i % 7 == 0){//能同时被3和7整除
sum += i;//sum=sum+i,先相加再赋值
System.out.print(i + "\t");//输出i的个数
count++;//count=count+i,先自加再赋值
if (count % 5 == 0){//5个一行
System.out.println();
}
}
}
System.out.print("和:"+sum);//输出结果
}
}
/*
定义3个getArea方法,实现方法重载,分别可以求圆、矩形和梯形面积。
主类中使用命令行参数的形式输入对应数据,
根据命令行参数数组长度判断(使用switch语句)出是哪种图形
并调用正确的getArea方法计算出面积并输出。
*/
public class AreaCount {
//定于3个getArea方法,实现方法重载
public static double getArea(double r){
return 3.1415*r*r;
}
public static double getArea(double a,double b){
return a*b;
}
public static double getArea(double c,double d,double h){
return (c+d)*h*0.5;
}
public static void main(String[] args) {
switch (args.length){
case 1:
int i = Integer.parseInt(args[0]);
//Integer.parseInt是将一个字符串转换为int类型
//[0]是参数数组的下标,指的是第一个参数,就是函数中的args中的第一个值;
System.out.println("圆的面积:"+getArea(i));
break;
case 2:
int m = Integer.parseInt(args[0]);
int n = Integer.parseInt(args[1]);
System.out.println("矩形的面积:"+getArea(m,n));
break;
case 3:
int o = Integer.parseInt(args[0]);
int p = Integer.parseInt(args[1]);
int q = Integer.parseInt(args[2]);
System.out.println("梯形的面积:"+getArea(o,p,q));
break;
}
}
}