java基础3

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

  1. 程序的结构
  2. 流程图
  3. 分支结构
  4. 循环结构
  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();
    }
}

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

成绩等级
90-100A
80-89B
60-79C
<60D
import java.util.Scanner;

public class Results {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入成绩");
        int cj = sc.nextInt();

        char op = '0';
        if (cj > 100 || cj < 0) {
            System.out.println("请输入小于100大于0的数");
        } else {
            if (cj >= 90) {
                op = 'A';
            } else if (cj >= 80) {
                op = 'B';
            } else if (cj >= 70) {
                op = 'C';
            } else if (cj <= 60) {
                op = 'D';
            }
            System.out.print(op);

        }

        sc.close();
    }
}

public class WQ5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double cj=sc.nextDouble();
char level=’0’;

    if (cj>100||cj<0){
        System.out.println("请输入0~100的成绩");
    }
    else if(cj>=90){
        level='A';
    }
    else if (cj>=80){
        level='B';
    }
    else if (cj>=60){
            level='C';
    }
    else  
        level='D';


    System.out.println(level);

    sc.close();
}

}


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

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

```Java
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();
    }
}




<div class="se-preview-section-delimiter"></div>

练习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、付费专栏及课程。

余额充值