Java基本数据与计算习题

2.1(将摄氏温度转换为华氏温度)编写程序,从控制台读人double型的摄氏温度,然后将其转换为
华氏温度,并且显示结果。转换公式如下所示:
华氏温度=(9/5)*摄氏温度+32
提示:在Java中,9/5的结果是1,但是9.0/5的结果是1.8。
下面是一个运行示例:
43Ce1siusis109.4Fahrenheit

import java.util.Scanner;

class Work_1 {
    public static void main(String args[]) {
        System.out.println("Enter a degree in Celsius:");//提示输入摄氏温度
        Scanner input = new Scanner(System.in);//创建Scanner类的一个对象input
        double c = input.nextDouble();//使用input调用nextDouble()方法,输入摄氏温度
        double f = 9.0 / 5 * c + 32;//计算华氏温度
        System.out.println(c + " Celsius is "+ f + " Fahrenheit");//输出华氏温度
    }
}

2.2(计算圆柱体的体积)编写程序,读人圆柱体的半径和高,并使用下列公式计算圆柱的体积:

面积=半径x半径xp
体积=面积x高

import java.util.Scanner;

class Work_2 {
    public static void main(String args[]) {
        System.out.println("Enter a radius and length of a Cylinder:");//提示输入底面半径和高
        Scanner input = new Scanner(System.in);
        /*分别输入底面半径和高*/ 
        double radius = input.nextDouble();
        double length = input.nextDouble();
        double pi = 3.14;//定义p=3.14为圆周率
        /*根据公式计算面积和体积*/
        double area = pi * radius * radius;
        double volume = area * length;
        /*输出底面半径和高*/ 
        System.out.println("The area is "+area);
        System.out.println("The volume is "+volume);
    }
}

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

提示:利用操作符%分解数字,然后使用操作符/去掉分解出来的数字。例如:932X%10=2,
932/10=93。

import java.util.Scanner;

class Work_3 {
    public static void main(String args[]) {
        System.out.println("Enter a number beteeen 0 and 1000:");//提示输入0-1000之间的数字。
        Scanner input = new Scanner(System.in);
        int a = input.nextInt();//输入数字赋值给变量a
        int n,sum = 0 ;//初始化变量n,sum为0 ,n表示每位的数字,sum存和
        n = a % 10 ;
        a = a / 10 ;//重复执行三次此算法即可求出sum和,后面可以用循环知识解决
        sum += n ;

        n = a % 10 ;
        a = a / 10 ;
        sum += n ;

        n = a % 10 ;
        a = a / 10 ;
        sum += n ;
        System.out.println("The sum of the digits is " + sum);
    }
}

2.4 (当前时间)程序清单2-7给出了显示当前格林威治时间的程序。修改这个程序,提示用户输人相
对于GMT的时区偏移量,然后显示在这个特定时区的时间。

import java.util.Scanner;
public class Work_4 {
public static void main(String[] args) {
System.out.println("Enter the time zone offset to GMT:");//提示输入格林威治时间偏移量
Scanner input = new Scanner(System.in);
int i = input.nextInt();//输入格林威治时间偏移量
long totalMilliseconds = System.currentTimeMillis();//使用System类中的currentTimeMillis()获取总毫秒数
long totalSeconds = totalMilliseconds / 1000;//总毫秒数 除以1000算出总秒数
long currentSecond = totalSeconds % 60;//当前秒数
long totalMinutes = totalSeconds / 60;//总秒数除以60以计算总分钟数
long currentMinute = totalMinutes % 60;//当前分钟数
long totalHours = totalMinutes / 60;//总小时数
long currentHour = totalHours + i % 24 ;//当前小时数
System.out.println("The Current time is " + currentHour + ":" + currentMinute + ":"+ currentSecond + " GMT");
    }
}

2.5(财务应用程序:复利值)假设你每月向银行账户存100美元,年利率为5%,那么每月利率是
0.05/12=0.00417。第一个月之后,账户上的值就变成:

100*(1+0.00417)=100.417

第二个月之后,账户上的值就变成:

(C100+100.417)*(1+0.00417)=201.252

第三个月之后,账户上的值就变成:

(C100+201.252)*(1+0.00417)=302.507

依此类推。

class Work_5 {
    public static void main(String args[]) {
        System.out.println("Enter the monthly saving amount:");
        Scanner input = new Scanner(System.in);
        double M = input.nextDouble();//输入本金
        double P = 0.00417;//月利率
        double C = 0;//C为变化后的账户值。
        C = (M+C) * (1 + P);//重复执行当前代码六次求出第六个月的本息和
        C = (M+C) * (1 + P);
        C = (M+C) * (1 + P);
        C = (M+C) * (1 + P);
        C = (M+C) * (1 + P);
        C = (M+C) * (1 + P);
        System.out.println("After the sixth month , the account value is $"+C);
    }
}

2.6(几何:两点间距离)编写程序,提示用户输人两个点(x1,y1)和(x2,y2),然后显示两点间
的距离。计算两点间距离的公式是。注意:可以使用Math.pow(a,0.5)
来计算

import java.util.Scanner;
class Work_6{
    public static void main (String args[]){
        /*
        1.输入两个点的坐标
        */ 
    System.out.println("Enter x1 and y1 : ");
    Scanner input = new Scanner(System.in);
    double x1 = input.nextDouble();
    double y1 = input.nextDouble();
    System.out.println("Enter x2 and y2 : ");
    double x2 = input.nextDouble();
    double y2 = input.nextDouble();
    /*2.通过公式计算两点之间的距离*/
    double distance = Math.pow(Math.sqrt(x2-x1)+Math.sqrt(y2-y1) , 0.5);
    System.out.println("The distance between the two points is "+ distance);
    }
}

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

import java.util.Scanner;//导入此包以支持Scanner输入类的使用。
class Work_7{
    public static void main (String args[]){
    System.out.println("Enter three points for a triangle : ");//提示输入三角形的三个点
    Scanner input = new Scanner(System.in);//实例化 类Scanner 创建一个对象input
    double x1 = input.nextDouble();//用input对象调用nextDouble方法实现输入
    double y1 = input.nextDouble();
    double x2 = input.nextDouble();
    double y2 = input.nextDouble();
    double x3 = input.nextDouble();
    double y3 = input.nextDouble();
    double a = Math.pow(Math.sqrt(x2-x1)+Math.sqrt(y2-y1),0.5);//分别计算三条边的长度
    double b = Math.pow(Math.sqrt(x3-x1)+Math.sqrt(y3-y1),0.5);
    double c = Math.powMath.sqrt(x3-x2)+Math.sqrt(y3-y2),0.5);
    //通过公式计算三角形的面积。
    double s = (a+b+c)/2;
    double area = Math.pow(s*(s-a)*(s-b)*(s-c),0.5);
    System.out.println("The area of the triangle is "+area);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_45111347/article/details/104232838