1.读入一个表示年份的整数,判断这一年是否是闰年:
a.如果这个年份能被4整除,且不能被100整除,则这一年是闰年。例如:1996年是闰年,而相应的,1993年就不是闰年。
b.如果这个年份能够被100整除,则这个数必须要能被400整除,才是闰年。例如,2000年是闰年,1900年不是闰年。
//思路:求余得出整除的数,逻辑&&得出满足两个条件的情况
import java.util.Scanner;
public class Year{
public static void main(String [] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入年份");
int year = input.nextInt();
if(year % 4 == 0 && year % 100 != 0){
System.out.println(year + "年是闰年");
}else if(year % 100 == 0 && year %400 == 0){
System.out.println(year + "年是闰年");
}else{
System.out.println(year + "年不是闰年");
}
}
}
2.中国的个税计算方法:
应税所得为税前收入扣除–3500 元(起征点),然后超出部分,按照以下税率收税:
应纳税所得额 | 税率(%) | 速算扣除数 |
---|---|---|
1500 | 3% | 0 |
1501-4500 | 10% | 105 |
4501-9000 | 20% | 555 |
9001 -35000 | 25% | 1005 |
35001-55000 | 30% | 2755 |
55001-80000 | 35% | 5505 |
80000+ | 45% | 13505 |
规则:应缴税款 = (税前工资 - 各类保险 - 3500) * 税率 - 速算扣除数。
注意:此处各类保险默认为262元。
实发工资 = 税前工资 - 应缴税款 - 各类保险。
例如:若税前工资为15000,各类保险262元。
应缴税款(1804.5) = (15000 - 262 - 3500) * 0.25 - 1005
实发工资(12933.5) = 15000 - 1804.5 - 262
要求:读入一个整数,表示税前收入,输出应当缴纳的个人所得税和税后实际收入。
//思路:不要被题目吓到,理解题意后思路会清晰很多,根据公式及数据,多几个判断条件就能做出来
import java.util.Scanner;
public class Money{
public static void main(String [] args){
Scanner input = new Scanner(System.in);
System.out.print("输入税前收入");
//税前工资bMoney
double bMoney = input.nextDouble();
//税tax
double tax;
//实发工资fMoney
double fMoney;
if(bMoney -3500 <1500){
tax = (bMoney - 262 -3500)*0.03;
fMoney = bMoney -tax -262;
System.out.println("税是" + tax + "实发工资是" + fMoney);
}else if(bMoney - 3500 > 1500 && bMoney - 3500 <= 4500){
tax = (bMoney - 262 -3500)*0.1 - 105;
fMoney = bMoney -tax -262;
System.out.println("税是" + tax + "实发工资是" + fMoney);
}else if(bMoney - 3500 >4500 && bMoney - 3500 <= 9000){
tax = (bMoney -262 -3500)*0.2 -555;
fMoney = bMoney -tax -262;
}else if(bMoney - 3500 >9000 && bMoney - 3500 <= 35000){
tax = (bMoney -262 -3500)*0.25 -1005;
fMoney = bMoney -tax -262;
System.out.println("税是" + tax + "实发工资是" + fMoney);
}else if(bMoney - 3500 >35000 && bMoney - 3500 <= 55000){
tax = (bMoney -262 -3500)*0.3 -2755;
fMoney = bMoney -tax -262;
System.out.println("税是" + tax + "实发工资是" + fMoney);
}else if(bMoney - 3500 >55000 && bMoney - 3500 <= 80000){
tax = (bMoney -262 -3500)*0.35 -5505;
fMoney = bMoney -tax -262;
System.out.println("税是" + tax + "实发工资是" + fMoney);
}else if(bMoney - 3500 > 80000){
tax = (bMoney -262 -3500)*0.45 -13505;
fMoney = bMoney -tax -262;
System.out.println("税是" + tax + "实发工资是" + fMoney);
}
}
}
3.使用 switch 把小写类型的 char型转为大写。只转换 a, b, c, d, e. 其它的输出 “other”
//思路:此题逻辑简单,用switch来做,注意不要忘记break
import java.util.Scanner;
public class Test3{
public static void main(String [] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入一个小写英文字母");
char c = input.next().charAt(0);
switch(c){
case 'a':
System.out.println("A");
break;
case 'b':
System.out.println("B");
break;
case 'c':
System.out.println("C");
break;
case 'd':
System.out.println("D");
break;
case 'e':
System.out.println("E");
break;
default:
System.out.println("other");
}
}
}