Java基础语法编程题(Demo09-Demo16)

目录

Demo09:将摄氏温度转换为华氏温度

Demo10:计算圆柱体的体积

Demo11:求一个整数各位数的和

Demo12:求当前时间(带时间偏移量)

Demo13:科学:计算能量

Demo14:财务应用程序: 复利值

Demo15:几何: 两点间距离

Demo16:几何: 三角形的面积


Demo09:将摄氏温度转换为华氏温度

编写程序,从控制台读入double型的摄氏温度,然后将其转换为华氏温度,并且显示结果。转换公式如下所示:华氏温度 = (9 / 5) * 摄氏温度 + 32

提示:在Java中,9 / 5的结果是1,但是9.0 / 5的结果是1.8。下面是一个运行示例:

import java.util.Scanner;

public class Demo09 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个摄氏温度(例如:41.2):");
        double Celsius = scanner.nextDouble();
        double fahrenheit = (9.0 / 5) * Celsius + 32;
        System.out.println(Celsius + " 的华氏温度是:" + fahrenheit);
    }
}

结果:

Demo10:计算圆柱体的体积

编写程序,读入圆柱体的半径和高,并使用下列公式计算圆柱的体积:
       面积 = 半径 × 半径 × p;体积 = 面积 × 高
下面是一个运行示例:

/*
编写程序,读入圆柱体的半径和高,并使用下列公式计算圆柱的体积:
       面积 = 半径 × 半径 × p;体积 = 面积 × 高
*/
import java.util.Scanner;

public class Demo10 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入圆柱体的半径和高:");
        double r = scanner.nextDouble();
        double h = scanner.nextDouble();
        double p = 3.14;
        double v = Math.pow(r, 2) * p * h;
        System.out.println(v);
    }
}

结果:

Demo11:求一个整数各位数的和

编写程序,读取一个在0和1000之间的整数,并将该整数的各位数字相加。

例如:整数是932,各位数字之和为14。

提示:利用操作符 % 分解数字,然后使用操作符 / 去掉分解出来的数字。

例如:932 % 10 = 2,932 / 10 = 93。下面是一个运行示例:

/*
编写程序,读取一个在0和1000之间的整数,并将该整数的各位数字相加。
例如:整数是932,各位数字之和为14。

提示:利用操作符 % 分解数字,然后使用操作符 / 去掉分解出来的数字。
例如:932 % 10 = 2,932 / 10 = 93。
*/
import java.util.Scanner;

public class Demo11 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个在0和1000之间的整数:");
        int num = scanner.nextInt();
        int ge = num % 10;
        int shi = num % 100 / 10;
        int bai = num / 100;
        int sum = ge + shi + bai;
        // System.out.println(ge);
        // System.out.println(shi);
        // System.out.println(bai);
        System.out.println("各位数字之和为:" + sum);
    }
}

结果:

Demo12:求当前时间(带时间偏移量)

程序Demo07给出了显示当前格林威治时间的程序。修改这个程序,提示用户输人相对于GMT的时区偏移量,然后显示在这个特定时区的时间。下面是一个运行示例:

Demo07详见:Java基础语法编程题(Demo01-Demo8)_不会敲代码的HZ的博客-CSDN博客

/*
程序Demo07给出了显示当前格林威治时间的程序。
修改这个程序,提示用户输人相对于GMT的时区偏移量,然后显示在这个特定时区的时间。

相邻时区的时间相差一个小时。
所以偏移1则表示偏移1小时。60*60秒
*/
import java.util.Scanner;

public class Demo12 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入对应时区的偏移量:");
        int offset = scanner.nextInt();
        long totalMilliseconds = System.currentTimeMillis();
        //获取当前时间距离1970-01-01 00:00:00 的毫秒数
        long totalSeconds = totalMilliseconds / 1000; // 毫秒转换为秒
        totalSeconds += (offset * 60 * 60);
        //求出现在的秒 
        long currentSeconds = totalSeconds % 60;
        //求出现在的分
        long totalMinutes = totalSeconds / 60;
        long currentMinutes = totalMinutes % 60;
        //求出现在的小时
        long totalHours = totalMinutes / 60;
        long currentHours = totalHours % 24;

        System.out.println("当前时区时间为:" + currentHours + ":" + currentMinutes + ":" + currentSeconds);
    }
}

结果:

Demo13:科学:计算能量

编写程序,计算将水从初始温度加热到最终温度所需的能量。程序应该提示用户输入水的重量(以千克为单位), 以及水的初始温度和最终温度。计算能量的公式是:
                Q = M × (最终温度 - 初始温度) × 4184
       这里的M是以千克为单位的水的重量,温度以摄氏度为单位,而能量Q以焦耳为单位。下面是一个运行示例:

/*
编写程序,计算将水从初始温度加热到最终温度所需的能量。
程序应该提示用户输入水的重量(以千克为单位), 以及水的初始温度和最终温度。
计算能量的公式是:
                Q = M × (最终温度 - 初始温度) × 4184
这里的M是以千克为单位的水的重量,温度以摄氏度为单位,而能量Q以焦耳为单位。
*/
import java.util.Scanner;

public class Demo13 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入水的重量(以千克为单位):");
        double weight = scanner.nextDouble();
        System.out.print("请输入水的初始温度:");
        double startTemperature = scanner.nextDouble();
        System.out.print("请输入水的最终温度:");   
        double endTemperature = scanner.nextDouble();

        double energy = weight * (endTemperature - startTemperature) * 4184;
        System.out.println("水从初始温度加热到最终温度所需的能量为:" + energy + "焦耳");
    }
}

结果:

Demo14:财务应用程序: 复利值

假设你每月向银行账户存100美元,年利率为5%,那么每月利率是0.05/12=0.004 17。

第一个月之后,账户上的值就变成:100 * (1 +0.00417) = 100.417
第二个月之后,账户上的值就变成:(100 + 100.417) * (1 + 0.00417) = 201.252
第三个月之后,账户上的值就变成:(100 + 201.252) * (1 + 0.00417) = 302.507
依此类推。

编写程序显示六个月后账户上的钱数。(在编程练习题5.30中,你将使用循环来简化这里的代码,并能显示任何一个月之后的账户值。)

import java.util.Scanner;

public class Demo14 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入你要存入的金额:");
        int money = scanner.nextInt();
        double endmoney = 0;
        for(int i = 1;i < 7;i++){
            endmoney += money;
            endmoney *= (1 + 0.00417);

        }
        System.out.printf("六个月后账户上的钱数:%.2f", endmoney);
    }
}

结果:

Demo15:几何: 两点间距离

编写程序,提示用户输人两个点(x1, y1)和(x2, y2),然后显示两点间
的距离。计算两点间距离的公式是\sqrt{(x2 - x1)^2 + (y2 - y1)^2}。注意:可以使用Math.pow(a, 0.5)来计算√a。下面是一个运行示例:

/*
编写程序,提示用户输人两个点(x1, y1)和(x2, y2),然后显示两点间的距离。
注意:可以使用Math.pow(a, 0.5)来计算√a。
​*/
import java.util.Scanner;

public class Demo15 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入x1、y1:");
        double x1 = scanner.nextDouble();
        double y1 = scanner.nextDouble();
        System.out.print("请输入x2、y2:");
        double x2 = scanner.nextDouble();
        double y2 = scanner.nextDouble();

        double distance = Math.pow(((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)), 0.5);
        System.out.println("两点间的距离:"+ distance);
    }
}

结果:

Demo16:几何: 三角形的面积

编写程序,提示用户输人三角形的三个点(x1,y1)、(x2,y2)和(x3,y3),然后显示它的面积。计算三角形面积的公式是:
                        s = (边1 + 边2 + 边3 ) / 2
                        面积 = √(s(s - 边1)(s - 边2)(s - 边3))
下面是一个运行示例:

/*
编写程序,提示用户输人三角形的三个点(x1,y1)、(x2,y2)和(x3,y3),然后显示它的面积。
计算三角形面积的公式是:
        s = (边1 + 边2 + 边3 ) / 2
        面积 = √(s(s - 边1)(s - 边2)(s - 边3))
​*/
import java.util.Scanner;

public class Demo16 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入x1、y1, x2、y2, x3、y3:");
        double x1 = scanner.nextDouble();
        double y1 = scanner.nextDouble();
        double x2 = scanner.nextDouble();
        double y2 = scanner.nextDouble();
        double x3 = scanner.nextDouble();
        double y3 = scanner.nextDouble();

        double d1 = Math.pow(((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)), 0.5);
        double d2 = Math.pow(((x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3)), 0.5);
        double d3 = Math.pow(((x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3)), 0.5);
        double s = (d1 + d2 + d3) / 2;
        double area = Math.pow((s * (s - d1) * (s - d2) * (s - d3)), 0.5);
        System.out.printf("三角形的面积:%.1f", area);
    }
}

结果:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Golang_HZ

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值