Java暑期学习第三十六天日报

一、今日学习内容:

今天练习了第三章3.1到3.6的例题。

二、遇到的问题:

 关于Java中小数所占长度和小数的位数的设置不明白,经过查找资料弄懂,可通过System.out.format("%10s",a);的形式确定小数的长度,通过DecimalFromat类可进行小数位数的确定,如:DecimalFormat df=new DecimalFormat ("0.00");括号中的形式即为小数的形式,可用0或#代替。

三、明日计划:

明天练习第三章3.7到3.12的例题。

 

今日学习具体内容如下:

例3.1各行小数点对齐。

 

import java.text.DecimalFormat;
public class t2 {
    public static void main(String[] args) {
        double a=123.456,b=3.14159,c=-3214.67;
        DecimalFormat df=new DecimalFormat("0.0000");
        //设置好数据长度和小数点位数//
        System.out.format("%10s\n",df.format(a));
        System.out.format("%10s\n",df.format(b));
        System.out.format("%10s\n",df.format(c));
        
    }
    
}

测试截图:

 

 

 

3.2 输出单个字符

import java.util.Scanner;
public class t2 {
    public static void main(String[] args) {
        char a='B',b='O',c='Y';
        System.out.print(a);
        System.out.print(b);
        System.out.print(c);
        System.out.print("\n");
        System.out.print((char)66);
        System.out.print((char)79);
        System.out.print((char)89);
        System.out.print((char)10);
    }
    
}

测试截图:

 

 

 

3.3输入单个字符

import java.util.Scanner;
public class t2 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个字符:");
        String s=sc.next();
        System.out.println((char)(s.charAt(0)+32));
    }
    
}

测试截图:

 

 

3.5求一元二次方程ax^2+bx+c=0的两个根。其中a、b、c在运行时由键盘输入,需满足b^2-4ac>=0

import java.util.Scanner;
import java.lang.Math;
public class t2 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请分别输入a,b,c:");
        double a=sc.nextDouble();
        double b=sc.nextDouble();
        double c=sc.nextDouble();
        if(b*b-4*a*c>0) {
            double x1=(-b+Math.sqrt(b*b-4*a*c))/2*a*c;
            double x2=(-b-Math.sqrt(b*b-4*a*c))/2*a*c;
            System.out.println("该一元二次方程有两个根");
            System.out.println("x1="+x1);
            System.out.println("x2="+x2);
        }
        else if(b*b-4*a*c==0) {
            double x=-(2*a*c)/b;
            System.out.println("该一元二次方程有一个根");
            System.out.println("x="+x);
        }
        else {
            System.out.println("该一元二次方程无根");
        }
            
    }    
}

测试截图:

     

 

 

3.6求三角形的面积

import java.util.Scanner;
import java.lang.Math;
import java.text.DecimalFormat;
public class t2 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请分别输入a,b,c三条边的长度:");
        double a=sc.nextDouble();
        double b=sc.nextDouble();
        double c=sc.nextDouble();
        if(a+b>c&&a+c>b&&b+c>a) {
            double s,area;
            s=(a+b+c)/2;
            area=Math.sqrt(s*(s-a)*(s-b)*(s-c));
            DecimalFormat df=new DecimalFormat("0.0000");
            System.out.println("三角形的面积是:"+df.format(area));
        }
        else {
            System.out.println("这三条边不能构成三角形!");
        }
            
    }    
}

测试截图:

 

posted on 2020-08-10 22:00  桑榆非晚柠月如风  阅读(86)  评论(0编辑  收藏  举报