java第三天


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

1. 程序的结构
2. 流程图
3. 分支结构
4. 循环结构
5. 多重循环结构

练习1:分段函数求值。
$$
f(x)=\begin{cases}
3x+5 & \text (x \lt -1) \\
x-1 & \text (-1 \le x \le 1) \\
5x-3 & \text (x \gt 1)
\end{cases}
$$

```Java
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元的|3|0
2|超过1500元至4500元的部分|10|105
3|超过4500元至9000元的部分|20|555
4|超过9000元至35000元的部分|25|1005
5|超过35000元至55000元的部分|30|2755
6|超过55000元至80000元的部分|35|5505
7|超过80000元的部分|45|13505

```Java
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-100|A
80-89|B
60-79|C
<60|D

```Java
import java.util.Scanner;

  public class one {
   
   public static void main(String[] args) {
    System.out.println("请输入成绩");
    Scanner sc = new Scanner(System.in);
    double w=sc.nextDouble();
    char level='0';
    
    
    if (w>100||w<0){
     System.out.println("请输入0~100的成绩");
    }
    else if(w>=90){
     level='A';
    }
    else if (w>=80){
     level='B';
    }
    else if (w>=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();
 }
}
```


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

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

余额充值