Java基础知识练习题

你自以为的极限,只是别人的起点

1 基础知识

E201_01_01温度转换

题目要求:输入华氏温度值,转换为摄氏温度输出,华氏温度转换为摄氏温度 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
心得体会:
新建的包符号“.”可以用来表示下一级包。
在这里插入图片描述

E201_01_02计算圆形面积

题目要求:输入圆形的半径(假设为整型),计算圆形的面积,面积要求定义成单精度浮点型

解题思路:
输入半径
根据圆面积公式计算圆的面积。
输出结果。

程序代码:

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型可以不写。

E201_01_03计算球的体积

题目要求:输入球的半径,计算球的体积,体积公式: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自身需要括号。

E201_01_05鬼谷算题

题目要求:在鬼谷算题中有这样一个著名的题目:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”这属于高等数学中的数论。我国宋代学者对这类题目钻研已颇为精深,总结出了“三人同行七十稀,五树梅花廿一枝,七子团圆正半月,去百零五便得知。” 也就是三的余数乘以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
心得体会:
解决问题的方法很重。

E201_01_06 话费计费器

题目要求:输入通话时长(秒),计算通话费用。费用按分钟计费,不足一分的按一分钟计算,资费标准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学习资源”,“人工智能”等即可获取学习资源。
在这里插入图片描述

以梦为马,不负韶华。
原文地址:https://www.cnblogs.com/huangjiahuan1314520/p/13630386.html