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

一、今日学习内容:

今日练习第三章的例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);

            
    }        
}

测试截图:

 

posted on 2020-08-11 21:16  桑榆非晚柠月如风  阅读(98)  评论(0编辑  收藏  举报