Java学习第三天

9 篇文章 0 订阅

第三天:程序逻辑-1(分支和循环)

  1. 程序的结构
    ps: int a = 10 ;关键字、标示符、运算符、字面量;
    ps: String str = null;
  2. 流程图
    – 顺序、分支、循环
  3. 分支结构
    • if( condition){……}else{……}
    • switch(关键字){case1:……break; case2……break;……}
  4. 循环结构
    • for(condition){……}
  5. 多重循环结构

练习1:分段函数求值。

f(x)=⎧ ⎩ ⎨ 3x+5x15x3 (x<1)(1x1)(x>1)  

package com.lovoinfo;

import java.util.Scanner;

public class Fx {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("x = ");
        double x = sc.nextDouble();
        double y;
        if(x < -1) {
            y = 3 * x + 5;
        }
        else if(x <= 1) {
            y = x - 1;
        }
        else {
            y = 5 * x - 3;
        }
        System.out.println("f(x) = " + y);
        sc.close();
    }
}

练习2:个人所得税计算。在我国,个人所得税的起征点是3500元,计算公式是:
个人所得税 = (工资收入 - 五险一金 - 个税起征点) * 税率 - 速算扣除数
其中,税率和速算扣除数可以查下表得到:

级数含税级距税率速算扣除数
1不超过1500元的30
2超过1500元至4500元的部分10105
3超过4500元至9000元的部分20555
4超过9000元至35000元的部分251005
5超过35000元至55000元的部分302755
6超过55000元至80000元的部分355505
7超过80000元的部分4513505
package com.lovoinfo;

import java.util.Scanner;

public class Tax {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入工资: ¥");
        double salary = sc.nextDouble();
        double add = salary - salary * 0.08 - 3500;
        double tax;
        if(add <= 0) {
            tax = 0;
        }
        else if(add <= 1500) {
            tax = add * 0.03;
        }
        else if(add <= 4500) {
            tax = add * 0.1 - 105;
        }
        else if(add <= 9000) {
            tax = add * 0.2 - 555;
        }
        else if(add <= 35000) {
            tax = add * 0.25 - 1005;
        }
        else if(add <= 55000) {
            tax = add * 0.3 - 2755;
        }
        else if(add <= 80000) {
            tax = add * 0.35 - 5505;
        }
        else {
            tax = add * 0.45 - 13505;
        }
        System.out.printf("需要缴纳的个人所得税: ¥%.2f元\n", tax);
        sc.close();
    }
}

package day0423;

import java.util.Scanner;

public class Ratepaving {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的工资:");
        double M = sc.nextDouble();
        double y = 0.92 * M - 3500;
        if (y > 0) {
            if (y <= 1500) {
                y = 0.03 * y;
        } else {
            if (y <= 4500) {
                y = 0.1 * y - 105;
        } else {
            if (y <= 9000) {
                y = 0.2 * y - 555;
        } else {
            if (y <= 35000) {
                y = 0.25 * y - 1005;
        } else {
            if (y <= 55000) {
                y = 0.3 * y - 2755;
        } else {
            if (y <= 80000) {
                y = 0.35 * y - 5505;
        } else {
                y = 0.45 * y - 13505;
                }
        }}}}}} 
        else {
            y = 0;
        }
        System.out.printf("你要缴纳的税是:¥%.2f元\n" ,y);
        sc.close();
    }
}

作业:输入一个百分制的成绩,将其转换成对应的等级,规则如下表所示:

成绩等级
90-100A
80-89B
60-79C
<60D

package day0423;

import java.util.Scanner;

public class Grade {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的分数:");
        double g = sc.nextDouble();
        String str = null;
        if (g<60) {
            str = "D";
        }else if(g<=79){
            str = "C";
        }else if(g<=89){
            str = "B";
        }else if(g<=100){
            str = "A";
        }
        System.out.println("你的成绩等级是:"+str);
        sc.close();
    }
}

练习4:输入成绩等级输出对应的评语,规则如下表所示:

成绩等级评语
A该生成绩优异,学习踏实认真
B该生积极上进,学习态度较好
C该生学习努力,成绩有待提高
D该生成绩稳定,动手能力很强
package com.lovoinfo;

import java.util.Scanner;

public class CommentSystem {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入成绩等级: ");
        char level = sc.next().charAt(0);
        switch(level) {
        case 'a':
        case 'A':
            System.out.println("该生成绩优异,学习踏实认真");
            break;
        case 'b':
        case 'B':
            System.out.println("该生积极上进,学习态度较好");
            break;
        case 'c':
        case 'C':
            System.out.println("该生学习努力,成绩有待提高");
            break;
        case 'd':
        case 'D':
            System.out.println("该生成绩稳定,动手能力很强");
            break;
        default:
            System.out.println("瓜西西,输错了!");
        }
        sc.close();
    }
}

练习5:将一颗色子掷60000次,统计每一面出现的次数。

package com.lovoinfo;

public class ThrowDie {

    public static void main(String[] args) {
        int f1 = 0, f2 = 0, f3 = 0, f4 = 0, f5 = 0, f6 = 0;
        for(int i = 1; i <= 60000; i++) {
            int face = (int)(Math.random() * 6 + 1);
            switch(face) {
            case 1: f1++; break;
            case 2: f2++; break;
            case 3: f3++; break;
            case 4: f4++; break;
            case 5: f5++; break;
            case 6: f6++; break;
            }
        }
        System.out.println("1点出现了" + f1 + "次");
        System.out.println("2点出现了" + f2 + "次");
        System.out.println("3点出现了" + f3 + "次");
        System.out.println("4点出现了" + f4 + "次");
        System.out.println("5点出现了" + f5 + "次");
        System.out.println("6点出现了" + f6 + "次");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值