11、【循环】计算1+3+5+…+99 的和
public class Demo11 {
public static void main(String[] args) {
//定义累加变量
int sum = 0;
//找到1-99之间所有的奇数
for (int i = 1; i <= 99; i += 2) {
sum += i;
}
//打印
System.out.println("1+3+5+…+99 的和="+sum);
}
}
12、【循环 + 分支】打印所有四位数中 个位 + 千位 == 百位 + 十位 的数字,要求:5个一行,中间用空格隔开,还要打印总数量
打印格式如下:
1010 1021 1032 1043 1054
1065 1076 1087 1098 1100
1111 1122 1133 1144 1155
…
以上满足条件的四位数总共有 615 个
public class Demo12 {
public static void main(String[] args) {
//计数
int count = 0;
//1. 打印所有的四位数
for (int i = 1000; i <= 9999; i++) {
//2. 对每个i拆分
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100 % 10;
int qian = i / 1000 % 10;
//3. 打印个位 + 千位 == 百位 + 十位
if (ge + qian == shi + bai) {
System.out.print(i + " ");
count++;//计数
if (count % 5 == 0) {
//换行
System.out.println();
}
}
}
//2. 打印总数
System.out.println("以上满足条件的四位数总共有 " + count + " 个");
}
}
13、【if】根据工龄涨工资
1) 根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入
2) 涨工资的条件如下:
[10-15) +5000
[5-10) +2500
[3~5) +1000
[1~3) +500
[0~1) +200
3) 如果用户输入的工龄为10,基本工资为3000,
程序运行后打印格式: “您目前工作了10年,基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元”
public class Demo13 {
public static void main(String[] args) {
//0. 创建键盘对象
Scanner scanner = new Scanner(System.in);
//1. 使用键盘对象接收数据
System.out.println("请输入工资");
int gz = scanner.nextInt();
System.out.println("请输入工龄数");
int gl = scanner.nextInt();
//2. 执行判断
if (gl >= 10 && gl < 15) {
System.out.println("您目前工作了" + gl + "年,基本工资为 " + gz + "元, 应涨工资 5000元,涨后工资 " + (gz + 5000) + "元");
} else if (gl >= 5 && gl < 10) {
System.out.println("您目前工作了" + gl + "年,基本工资为 " + gz + "元, 应涨工资 2500元,涨后工资 " + (gz + 2500) + "元");
} else if (gl >= 3 && gl < 5) {
System.out.println("您目前工作了" + gl + "年,基本工资为 " + gz + "元, 应涨工资 1000元,涨后工资 " + (gz + 1000) + "元");
} else if (gl >= 1 && gl < 3) {
System.out.println("您目前工作了" + gl + "年,基本工资为 " + gz + "元, 应涨工资 500元,涨后工资 " + (gz + 500) + "元");
} else if (gl >= 0 && gl < 1) {
System.out.println("您目前工作了" + gl + "年,基本工资为 " + gz + "元, 应涨工资 200元,涨后工资 " + (gz + 200) + "元");
}
}
}
14、【嵌套循环】使用嵌套循环,打印2021年至2023年月份,格式:xxxx年x月
2021年1月
2021年2月
2021年3月
2021年4月
.....
2021年12月
2022年1月
.....
2022年12月
2023年1月
.....
2023年12月
public class Demo14 {
public static void main(String[] args) {
//外层控制年
for (int i = 2021; i <= 2023; i++) {
//外层控制月
for (int j = 1; j <= 12; j++) {
System.out.println(i + "年" + j + "月");
}
System.out.println("");
}
}
}
15、【while】3000米长的绳子,每天减一半。问多少天这个绳子会小于5米?不考虑小数
public class Demo15 {
public static void main(String[] args) {
//计数器
int count = 0;
//定义一个变量记录绳子当前长度
int length = 3000;
//循环去减
while (length > 5) {
length = length / 2;
count++;
}
System.out.println(count + "天绳子就小于5米了");
}
}
16、【for】假设某员工今年的年薪是30000元,年薪的年增长率6%。编写一个Java应用程序计算该员工10年后的年薪,并统计未来10年(从今年算起)总收入。
public class Demo16 {
public static void main(String[] args) {
//定义变量累加
double sum = 0;
//定义变量记录每年的年薪
double salary = 30000;
//循环10
for (int i = 1; i <= 10; i++) {
salary = salary + salary * 0.06;
sum += salary;//累加
}
System.out.println("10年之后的薪水是:" + salary);
System.out.println("10年之后的总薪水是:" + sum);
}
}
17、【while】读入一批正整数(以零为结束标志),求其中的奇数和。
输入32 33 50 34 65 67 0 输出165
输入13 15 17 30 35 0 输出80
public class Demo17 {
public static void main(String[] args) {
int sum = 0;
//0. 创建键盘对象
Scanner scanner = new Scanner(System.in);
//1. 使用键盘对象接收数据
while (true) {
System.out.println("请输入一个正整数");
int t = scanner.nextInt();
//判断是否为0
if (t == 0) {
//做打印, 跳出程序
break;
} else {
if (t % 2 != 0) {
sum += t;
}
}
}
//打印
System.out.println("sum=" + sum);
}
}
18、【if】税务部门征收所的税,规定如下:
1)收入在1000元以内(含1000),免征;
2)收入在1000~3000元以内(含3000),纳税额为收入的3%;
3)收入超过3000~5000元以内(含5000),纳税为收入的4%;
4)当收入超过5000元时,纳税为收入的6%。
请根据以上关系,输入收入m,输出应缴纳的税收tax。
输入900 2000 4000 6000
输出0 60 160 360
public class Demo18 {
public static void main(String[] args) {
//1. 键盘接收参数
Scanner scanner = new Scanner(System.in);
System.out.println("请输入收入");
int m = scanner.nextInt();
//2. 根据条件判断应缴纳的税收
double tax = 0;
if (m < 1000) {
tax = 0;
} else if (m > 1000 && m <= 3000) {
tax = m * 0.03;
} else if (m > 3000 && m <= 5000) {
tax = m * 0.04;
} else if (m > 5000) {
tax = m * 0.06;
}
//3. 打印结果
System.out.println(tax);
}
}
19、【循环】给定一个正整数n,求它的因数个数。如6的因数为1、2、3、6,则因数个数为4。
输入12 输出6
输入30 输出8
public class Demo19 {
public static void main(String[] args) {
//计数
int count = 0;
int n = 30;
for (int i = 1; i <= n; i++) {
if (n % i == 0) {
count++;
}
}
System.out.println(n + "的因数的个数是:" + count);
}
}
20、【while】小芳的妈妈每天给她2.5元钱,她都会存起来,但是,每当这一天是存钱的第5天或者5的倍数的话, 她都会花去6元钱,请问,经过多少天, 小芳才可以存到100元钱。
public class Demo20 {
public static void main(String[] args) {
//1. 钱总额
double money = 0;
//计数器
int count = 0;
//2. 循环
while (money < 100) {
money += 2.5;//每天增长2.5元
count++;//累加天数
if (count % 5 == 0) {
money -= 6;
}
}
//3. 打印count
System.out.println(count);
}
}