一、今日学习内容:
今日练习第三章的例3.7到3.13的例题。
二、遇到的问题:
无。
三、明日计划:
明天计划练习例3.14和例3.15。
今天学习的具体内容如下:
例3.7输入一个字符判断它是否为大写字母,如果是则转换成小写字母。如果不是不转换,然后最后输出最后的字母
import java.util.Scanner; public class t2 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); char result; System.out.println("请输入一个字母:"); String s=sc.next(); char c=s.charAt(0); if(c>='A'&&c<='Z') { result=(char)(c+32); } else { result=c; } System.out.println("结果:"+result); } }
测试截图:
例3.8判断某一年是否为闰年
import java.util.Scanner; public class t2 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入一个年份:"); int y=sc.nextInt(); boolean flag=false; if(y%100!=0&&y%4==0) flag=true; else if(y%400==0) flag=true; else flag=false; if(flag) System.out.println(y+"年是闰年!"); else System.out.println(y+"年不是闰年!"); } }
测试截图:
例3.9运输公司对用户计算运费。
import java.util.Scanner; public class t2 { public static void main(String[] args) { double result=0; double p,w,s;//p表示每吨基本价格,w表示重量,s表示距离 Scanner sc=new Scanner(System.in); System.out.println("请分别输入基本价格,重量和距离:"); p=sc.nextDouble(); w=sc.nextDouble(); s=sc.nextDouble(); if(s>=3000) result=p*w*s*(1-0.15); else if(s<3000&&s>=2000) result=p*w*s*(1-0.1); else if(s<2000&&s>=1000) result=p*w*s*(1-0.08); else if(s<1000&&s>=500) result=p*w*s*(1-0.05); else if(s<500&&s>=250) result=p*w*s*(1-0.02); else if(s<250) result=p*w*s; System.out.println("每吨基本价格为:"+p); System.out.println("重量为:"+w); System.out.println("距离为:"+s); System.out.println("运费为:"+result); } }
测试截图:
例3.10 求1+2+3+4+...+100的值
public class t2 { public static void main(String[] args) { int result=0,i; for(i=1;i<=100;i++) { result=result+i; } System.out.println("1+2+3+4+...+100的结果为:"+result); } }
测试截图:
例3.11 用do...while计算1+2+3+4+...+100的值
public class t2 { public static void main(String[] args) { int result=0,i=1; do { result=result+i; i++; }while(i<=100); System.out.println("1+2+3+4+...+100的结果为:"+result); } }
测试截图:
例3.12用公式求Pi的值
import java.text.DecimalFormat; //设置小数位数 public class t2 { public static void main(String[] args) { int s=1; double t=1,n=1,Pi=0; while(Math.abs(t)>1e-7) { //绝对值 Pi=Pi+t; n=n+2; s=-s; t=s/n; } Pi=Pi*4; DecimalFormat df=new DecimalFormat("0.000000"); System.out.println("Pi="+df.format(Pi)); } }
测试截图:
例3.13求Fibonacci数列的前40个数
public class t2 { public static void main(String[] args) { long f1,f2; int i; f1=f2=1; for(i=1;i<=20;i++) { System.out.format("%12s", f1); System.out.format("%12s", f2); if(i%2==0) System.out.print("\n"); f1=f1+f2; f2=f2+f1; } System.exit(0); } }
测试截图: