一、今日学习内容:
今天练习了第三章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("这三条边不能构成三角形!"); } } }
测试截图: