javaSE练习2——流程控制_2.1
一、企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润,求应发放奖金总数?
package com.test;
import java.util.scanner;
public class t01 {
public static void main(string[] args) {
double a = 0, b = 0;
system.out.println("输入当月利润(万):");
scanner sc = new scanner(system.in);
a = sc.nextint();
if (a > 0 && a <= 10) {
b = a * 0.1;
} else if (a > 10 && a <= 20) {
b = 10 * 0.1 + (a - 10) * 0.075;
} else if (a > 20 && a <= 40) {
b = 10 * 0.1 + 10 * 0.075 + (a - 20) * 0.05;
} else if (a > 40 && a <= 60) {
b = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (a - 40) * 0.03;
} else if (a > 60 && a <= 100) {
b = 20 * 0.175 + 20 * 0.05 + 20 * 0.03 + (a - 60) * 0.015;
} else if (a > 100) {
b = 20 * 0.175 + 40 * 0.08 + 40 * 0.015 + (a - 100) * 0.01;
}
system.out.println("应该提取的奖金是 " + b + " 万");
}
}
效果图如下:
二、给定一个成绩a,使用switch结构求出a的等级。a:90-100,b:80-89,c:70-79,d:60-69,e:0~59(知识点:条件语句switch)。
package com.test;
import java.util.scanner;
public class t02 {
public static void main(string[] args) {
int i;
int grade = 0;
scanner sc = new scanner(system.in);
system.out.println("请输入一个成绩:");
i = sc.nextint();
if (i > 0 && i <= 100) { // 判断成绩是否合法,如果合法,进行比较
grade = i / 10;
switch (grade) {
case 10:
case 9:
system.out.println("等级为a");
break;
case 8:
system.out.println("等级为b");
break;
case 7:
system.out.println("等级为c");
break;
case 6:
system.out.println("等级为d");
break;
default:
system.out.println("等级为e");
break;
}
} else { // 判断成绩是否合法,如果非法,进行提示用户
system.out.println("请输入的成绩必须在0-100之间");
}
}
}
效果图如下:
三、输入一个数字,判断是一个奇数还是偶数。
package com.test;
import java.util.scanner;
public class t03 {
public static void main(string[] args) {
int i;
scanner sc = new scanner(system.in);
system.out.println("请输入数字:");
i = sc.nextint();
if (i % 2 == 1) {
system.out.println("奇数");
} else if (i % 2 == 0) {
system.out.println("偶数");
}
}
}
效果图如下:
四、 编写程序, 判断一个变量x的值,如果是1,输出x=1,如果是5,输出x=5,如果是 10,输出x=10,除了以上几个值,都输出x=none。
package com.test;
public class t04 {
public static void main(string[] args) {
int i = 5;
switch (i) {
case 1:
system.out.println("x=1");
break;
case 5:
system.out.println("x=5");
break;
case 10:
system.out.println("x=10");
break;
default:
system.out.println("none");
break;
}
}
}
效果图如下:
五、判断一个随机整数是否能被5和6同时整除(打印能被5和6整除),或只能被5整除(打印能被5整除),或只能被6整除,(打印能被6整除),不能被5或6整除,(打印不能被5或6整除)。
package com.test;
import java.util.random;
public class t05 {
public static void main(string[] args) {
int i = new random().nextint(100);
if (i % 5 == 0 && i % 6 == 0) {
system.out.println("随机数:" + i + "\n能被5和6整除");
} else if (i % 5 == 0) {
system.out.println("随机数:" + i + "\n能被5整除");
} else if (i % 6 == 0) {
system.out.println("随机数:" + i + "\n能被6整除");
} else {
system.out.println("随机数:" + i + "\n不能被5或者6整除");
}
}
}
效果图如下:
六、输入一个年份,判断这个年份是否是闰年。
package com.test;
import java.util.scanner;
public class t06 {
public static void main(string[] args) {
int year;
scanner sc = new scanner(system.in);
system.out.println("请输入年份:");
year = sc.nextint();
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
system.out.println("闰年");
} else {
system.out.println("不是闰年");
}
}
}
效果图如下:
七、输入一个0~100的分数,如果不是0~100之间,打印分数无效,根据分数等级打印a,b,c,d,e。
package com.test;
import java.util.scanner;
public class t07 {
public static void main(string[] args) {
int score;
scanner sc = new scanner(system.in);
system.out.println("请输入分数(0-100):");
score = sc.nextint();
if (score <= 100 && score >= 90) {
system.out.println("分数等级:a");
} else if (score < 90 && score >= 80) {
system.out.println("分数等级:b");
} else if (score < 80 && score >= 70) {
system.out.println("分数等级:c");
} else if (score < 70 && score >= 60) {
system.out.println("分数等级:d");
} else if (score <= 70 && score > 60) {
system.out.println("分数等级:e");
} else {
system.out.println("分数无效");
}
}
}
效果图如下:
八、试写一个三位数,从小到大排列,然后再从大到小排列。
package com.test;
import java.util.scanner;
public class t08 {
public static void main(string[] args) {
int a = 0, b = 0, c = 0;
int d;
scanner sc = new scanner(system.in);
system.out.println("输入第一个数:");
a = sc.nextint();
system.out.println("输入第二个数:");
b = sc.nextint();
system.out.println("输入第三个数:");
c = sc.nextint();
if(a>b) {
d=a;
a=b;
b=d;
}
if(a>c) {
d=a;
a=c;
c=d;
}
if(b>c) {
d=b;
b=c;
c=d;
}
system.out.println("三个数字由小到大排列为:"+a+" "+b+" "+c);
}
}
效果图如下:
九、有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。
package com.test;
import java.util.scanner;
public class t09 {
public static void main(string[] args) {
int num;
scanner sc = new scanner(system.in);
system.out.println("请输入一个不多于五位的正整数:");
num = sc.nextint();
string str = string.valueof(num);
system.out.println(num + " 的位数为:" + str.length());
system.out.println("它的各位数分别为:");
for (int i = 0; i < str.length(); i++) {
system.out.print(str.charat(i) + " ");
}
system.out.println();
system.out.println("它的各位数逆序分别为:");
for (int i = str.length() - 1; i >= 0; i--) {
system.out.print(str.charat(i) + " ");
}
system.out.println();
}
}
效果图如下: