算法-java(1.5注解与习题)

来源:互联网 发布:思瑞用什么软件直播 编辑:程序博客网 时间:2024/06/05 01:03

1.5.注解与习题

1.什么是编译器


简单的说,编译器的任务就是把人类可以看懂的源代码变成机器可以直接执行的指令。

2.数据类型与输入格式

数据类型实验:下面将介绍一下java中int,float,long,double取值范围

/** * Created by 夜夜 on 16/9/29. */public class Example {    public static void main(String[] args) {        System.out.println(Integer.MAX_VALUE-(-Integer.MAX_VALUE)); //内存溢出        System.out.println(Integer.MAX_VALUE); //2的31次方-1,10个数位,正的20亿左右,用在钱上面不一定够        System.out.println(Integer.MIN_VALUE); //负的2的31次方        System.out.println(Long.MAX_VALUE); //2的64次方-1,19个数位,很大了,可放心用在钱上面        System.out.println(Long.MIN_VALUE); //负的2的64次方        System.out.println(Float.MAX_VALUE); //2的128次方-1,38个数位,比long多了一倍,这个主要用来做简单数学精确运算使用        System.out.println(Float.MIN_VALUE); //2的-149次方        System.out.println(Double.MAX_VALUE); //2的1024次方-1,308个数位,是float数位的10倍,主要用来做复杂运算和天文运算        System.out.println(Double.MIN_VALUE); //2的-1074次方    }}

3.习题

3.1.平均数(average)

输入3个整数,输出它们的平均值,保留3位小数。

/** * Created by 夜夜 on 16/9/25. */import java.text.DecimalFormat;import java.util.Scanner;public class Test {    public static void main(String[] args) {        //利用Scanner读取第一个数据        Scanner in = new Scanner(System.in); // Scanner类        System.out.println("Please input  n:");        int n = in.nextInt(); // 接收数据        //利用Scanner读取第二个数据        Scanner ins = new Scanner(System.in); // Scanner类        System.out.println("Please input  m:");        int m = ins.nextInt(); // 接收数据        //利用Scanner读取第三个数据        Scanner ina = new Scanner(System.in); // Scanner类        System.out.println("Please input  a:");        int a = ins.nextInt(); // 接收数据1        //计算平均值         double result;         result=(n+m+a)/3;         //格式化数据,保留三位小数         DecimalFormat df3  = new DecimalFormat("##.000");         System.out.println("平均值是:"+df3.format(result));    }}

说明,当输入整数的时候,即使定义的结果类型是double,计算得到的平均值依旧是取整。原因在前面有讲解,可以参照
变量输入与计算

3.2.温度(temperature)

输入华氏温度f,输出对应的摄氏温度c,保留3位小数。提示c=(f-32)/9

/** * Created by 夜夜 on 16/9/25. */import java.text.DecimalFormat;import java.util.Scanner;public class Test {    public static void main(String[] args) {        //利用Scanner读取数据        Scanner in = new Scanner(System.in); // Scanner类        System.out.println("Please input  f:");        float f = in.nextFloat(); // 接收数据         // 计算结果        float result=5*(f-32)/9;         //格式化数据,保留三位小数         DecimalFormat df3  = new DecimalFormat("##.000");         System.out.println(" 摄氏温度c是:"+df3.format(result));    }}

3.3.连续和(sum)

输入正整数n,输出1+2+…+n的值,提示:目标是解决问题,不是练习编程。

/** * Created by 夜夜 on 16/10/01. */import java.util.Scanner;public class Test {    public static void main(String[] args) {        //利用Scanner读取数据        Scanner in = new Scanner(System.in); // Scanner类        System.out.println("Please input  n:");        int n = in.nextInt(); // 接收数据        int result=0;         // 计算结果:从1到n进行相加         for(int i=1;i<=n;i++){             result=result+i;         }         System.out.println("连续和sum是:"+result);    }}

1.4.正弦与余弦(sin和cos)

输入正整数n(n<360),输入n度的正弦,余弦函数值,提示:使用数学函数。

sinA=cos(90度-A)
cosA=sin(90度-A)
tanA=sinA/cosA
cotA=1/tanA=cosA/sinA

sinA=cosB=cos(90°-∠A) sinB=cosA=cos(90°-∠B) sin²A+cos²B=1
sin²B+cos²A=1 sinA/cosA=tanA sinB/cosB=tanB

/** * Created by 夜夜 on 16/10/1. */import java.util.Scanner;public class Maths {    public static void main(String[] args) {        double sin=0.0;//正弦值        double cos=0.0;//余弦值        //利用Scanner读取数据        Scanner in = new Scanner(System.in); // Scanner类        System.out.println("Please input  n:");        int n = in.nextInt(); // 接收数据        if(0<=n&&n<360){            sin=Math.sin(n*Math.PI/180);            cos=Math.cos(n*Math.PI/180);            System.out.println("正弦值  sin:"+sin);            System.out.println("余弦值  cos:"+cos);        }else{            System.out.println("输入有误,提示:角度n为正整数区间在0-360");        }    }}
0 0
原创粉丝点击