Java第二章练习题

第一题

分析:

数据:摄氏温度 华氏温度
指令:输入 按照公式计算 输出
步骤:
1.提示用户输入摄氏温度
2.利用已知公式将摄氏温度转换为华氏温度
3.将摄氏温度和华氏温度输出

import java.util.Scanner;

public class Demo2_1 {
    public static void main(String[] args){

        Scanner input = new Scanner(System.in);
        System.out.println("输入一个摄氏温度:");//输入摄氏温度
        double Celsius = input.nextDouble();
        double Fahrenheit = (9.0/5)*Celsius+32;//摄氏温度转换为华氏温度

        System.out.println("转换为华氏温度后为:"+Fahrenheit);//打印结果
    }
}

打印输出如下:

​
输入一个摄氏温度:
43
转换为华氏温度后为:109.4

​

第二题

分析:

数据:半径 高 pi值 面积 体积

扫描二维码关注公众号,回复: 9088242 查看本文章

指令:输入 计算面积 计算体积 输出

步骤:

1、提示用户输入半径和高

2、利用给出的公式求出底面积和体积

3、输出圆柱体体积

import java.util.Scanner;

class Demo2_2{
    public static void main(String[] args){

        final double PI = 3.1415926;              //定义常量PI
        Scanner input = new Scanner(System.in);
        System.out.println("请输入圆柱体的半径:");//输入半径
        double raidus = input.nextDouble();
        System.out.println("请输入圆柱体的高");    //输入高
        double high = input.nextDouble();

        double area=raidus*raidus*PI;             //计算底面积
        double volume=area*high;                  //计算体积
        
        System.out.println("圆柱体的体积为:" + volume);
}
}

打印输出如下:

请输入圆柱体的半径:
5.5
请输入圆柱体的高
12
圆柱体的体积为:1140.3981138

第三题

分析:

数据:输入的值 个位数字 十位数字 百位数字

指令:输入 计算各个位上数字  计算数字之和 输入

步骤:

1、输入一个0-1000之间的整数

2、利用 / 和 % 求出各个位上的数字

3、把求出的数字相加

4、将数字之和输出

import java.util.Scanner;

class Demo2_3{
    public static void main(String[] args){

        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个0-1000之间的整数:");
        int number = input.nextInt();

        int units = number%10;            //计算个位上的数字
        int tens = number%100/10;         //计算十位上的数字
        int hundreds = number/100;        //计算百位上的数字
        int sum=units+tens+hundreds;      //各位上数字相加
        System.out.println("各个位上的数字之和是:"+sum); //打印结果

    }
}

打印输出如下:

请输入一个0-1000之间的整数:
999
各个位上的数字之和是:27

第四题

 

分析:

数据:获取的1970年1月1日00:00:00到现在的毫秒数 毫秒 秒 分 时

指令:输入 初始时间的获取 计算现在的时间  输出

步骤:

1、调用System.currentTimeMillis()方法获取1970年1月1日00:00:00到现在的毫秒数

2、计算当前的时间

3、输出特定时区的时间

import java.util.Scanner;
class Demo02_04{
    public static void main(String[] args){
        System.out.print("请输入时区:");
        Scanner scanner=new Scanner(System.in);
        int offset=scanner.nextInt();
        //总毫秒数
        long totalMillis=System.currentTimeMillis();
        //总秒数
        long totalSeconds=totalMillis/1000;
        //总分钟数
        long totalMinutes=totalSeconds/60;
        //总小时数
        long totalHours=totalMinutes/60;
        
        //当前小时数 
        long currentHour=(totalHours+offset)%24;
        //当前分钟数
        long currentMinute=totalMinutes%60;
        //当前秒数
        long currentSecond=totalSeconds%60;

        System.out.println(currentHour+":"+currentMinute+":"+currentSecond);
    }
}

打印输出如下:

请输入时区:8
19:26:31

第五题

分析:

数值:每月存款 年利率 月利率

指令:输入 计算月利率 计算每月总额 输出

步骤:

1、输入每月存款数

2、计算月利率

3、计算每月的总额

4、把第六个月账户上的总额输出

import java.util.Scanner;

class Demo2_5{
    public static void main(String[] args){

        Scanner input = new Scanner(System.in);
        System.out.println("请输入每月要存的钱数:");//输入每月存入的钱
        int money = input.nextInt();

        double moneyRate = 0.05/12;       //计算月利率
        double a = 100*(1+moneyRate);     //第一个月后账户上的钱
        double b = (100+a)*(1+moneyRate); //第二个月后账户上的钱
        double c = (100+b)*(1+moneyRate); //第三个月后账户上的钱
        double d = (100+c)*(1+moneyRate); //第四个月后账户上的钱
        double e = (100+d)*(1+moneyRate); //第五个月后账户上的钱
        double f = (100+e)*(1+moneyRate); //第六个月后账户上的钱
      
         System.out.println(f);
    }
}

打印输出如下:

请输入每月要存的钱数:
100
608.811017705596

第六题

分析:

数值:两个点的坐标 两点之间的距离

指令:输入 计算两点间距离 输出

步骤:

1、提示输入两点坐标

2、利用公式求出两点之间的距离

3、把计算后得到的两点之间的距离输出

import java.util.Scanner;

class Demo2_6{
    public static void main(String[] args){

        Scanner input = new Scanner(System.in);

        System.out.println("请输入第一个点的坐标x1,y1");//输入第一个点坐标
        double x1 = input.nextDouble();
        double y1 = input.nextDouble();
        System.out.println("请输入第二个点的坐标x2,y2");//输入第二个点坐标
        double x2 = input.nextDouble();
        double y2 = input.nextDouble();

        double distance = Math.pow((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1),0.5);//计算两点之间距离

        System.out.println("两点之间的距离大小是:"+distance);
    }
}

 打印输出如下:

请输入第一个点的坐标x1,y1
1.5 -3.4
请输入第二个点的坐标x2,y2
4 5
两点之间的距离大小是:8.764131445842194

第七题

分析:

数值:三个点的坐标 三条边长 面积

指令:输入 计算三条边长 计算面积

步骤:

1、提示用户输入三个点的坐标

2、计算每一条边的长

3、计算三角形的面积

4、输出所求得的三角形的面积

import java.util.Scanner;

class Demo2_7{
    public static void main(String[] args){
        
        Scanner input = new Scanner(System.in);
        System.out.println("请输入三个点的坐标x1,y1,x2,y2,x3,y3");//输入三角形三个顶点的坐标
        double x1 = input.nextDouble();
        double y1 = input.nextDouble();
        double x2 = input.nextDouble();
        double y2 = input.nextDouble();
        double x3 = input.nextDouble();
        double y3 = input.nextDouble();
        //计算三条边长
        double s1 = Math.pow((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1),0.5);
        double s2 = Math.pow((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2),0.5);
        double s3 = Math.pow((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3),0.5);
        double s = (s1+s2+s3)/2;
        //计算面积
        double area = Math.pow(s*(s-s1)*(s-s2)*(s-s3),0.5);
        System.out.println("此三角形的面积大小为:"+area);
    }
}

打印输出如下:

请输入三个点的坐标x1,y1,x2,y2,x3,y3
1.5 -3.4 4.6 5 9.5 -3.4
此三角形的面积大小为:33.600000000000016
发布了7 篇原创文章 · 获赞 0 · 访问量 93

猜你喜欢

转载自blog.csdn.net/weixin_42668873/article/details/104199858