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%提成,在程序中设定一个变量为当月利润,求应发放奖金总数?(知识点:条件语句) [必做题]
System.out.println("请输入当月利润……(以万元为单位)");
Scanner in = new Scanner(System.in);
int num = in.nextInt();
double M = 0;
if(num <= 10){
M = num * 0.1;
}if(num <= 20){
M = 10*0.1+(num-10)*0.075;
}if(num <= 40){
M = 10*0.1+20*0.075+(num-40)*0.05;
}if(num <= 60){
M = 10*0.1+20*0.075+20*0.05+(num-60)*0.03;
}if(num <= 100){
M = 10*0.1+20*0.075+20*0.05+40*0.015+(num-100)*0.015;
}else{
M = 10*0.1+20*0.075+20*0.05+40*0.015+60*0.015+(num-100)*0.01;
}
System.out.println("应发放奖"+M);
• 2、给定一个成绩a,使用switch结构求出a的等级。A:90-100,B:80-89,C:70-79,D:60-69,E:0~59(知识点:条件语句switch)[必做题]
System.out.println("请输入成绩");
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int a = num/10;
switch(a){
case 6 : System.out.println("等级位D");
break;
case 7 : System.out.println("等级位C");
break;
case 8 : System.out.println("等级位B");
break;
case 9 : System.out.println("等级位A");
break;
case 10 : System.out.println("等级位A");
break;
default:System.out.println("等级位E");
}
• 3、假设某员工今年的年薪是30000元,年薪的年增长率6%。编写一个Java应用程序计算该员工10年后的年薪,并统计未来10年(从今年算起)总收入。(知识点:循环语句for)[选做题]
double m = 30000;
double sum = 0;
for(int i =1;i<=10;i++){
sum = sum + m;
m = m + m*0.06;
}
System.out.println(sum);
• 4、猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。(知识点:循环语句 while)[选做题]
int num = 1;
int d=1;
while (d < 10){
num = (num+1)*2;
d++;
}
System.out.println("猴子第一天一共摘桃"+num+"个");
• 5、输入一个数字,判断是一个奇数还是偶数(知识点:条件语句) [必做题]
for(;;){
System.out.println("请输入一个整数");
Scanner i = new Scanner(System.in);
int num = i.nextInt();
int x = num%2;
if(x == 1){
System.out.println(num+"是一个奇数");
}else{
System.out.println(num+"是一个偶数");
}
}
• 6、编写程序, 判断一个变量x的值,如果是1,输出x=1,如果是5,输出x=5,如果是 10,输出x=10,除了以上几个值,都输出x=none。(知识点:条件语句) [必做题]
for(;;){
System.out.println("请输入一个整数");
Scanner i = new Scanner(System.in);
int num = i.nextInt();
switch(num){
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("x=none");break;
}
}
• 7、判断一个数字是否能被5和6同时整除(打印能被5和6整除),或只能被5整除(打印能被5整除),或只能被6整除,(打印能被6整除),不能
被5或6整除,(打印不能被5或6整除)(知识点:条件语句) [必做题]
for(;;){
System.out.println("请输入一个整数");
Scanner i = new Scanner(System.in);
int num = i.nextInt();
int a = num%5;
int b = num%6;
if(a == 0&&b==0){
System.out.println(num+"能被5和6整除");
}else{
System.out.println(num+"不能被5和6整除");
}
}
• 8、输入一个年份,判断这个年份是否是闰年(知识点:条件、循环语句) [必做题]
for(;;){
System.out.println("请输入一个年份");
Scanner i = new Scanner(System.in);
int year = i.nextInt();
if(year%100==0){
if(year%400 == 0){
System.out.println(year+"是瑞年");
}else{
System.out.println(year+"不是瑞年");
}
}else{
if(year%4==0&&year!=0){
System.out.println(year+"是瑞年");
}else{
System.out.println(year+"不是瑞年");
}
}
}
• 9、输入一个0~100的分数,如果不是0~100之间,打印分数无效,根据分数等级打印A,B,C,D,E(知识点:条件语句if elseif) [必做题]
for(;;){
System.out.println("请输入一个整数");
Scanner in = new Scanner(System.in);
int score = in.nextInt();
if(score<0||score>100){
System.out.println("打印分数无效");
}else if(score<60){
System.out.println("分数等级位E");
}else if(score<70){
System.out.println("分数等级位D");
}else if(score<80){
System.out.println("分数等级位C");
}else if(score<90){
System.out.println("分数等级位B");
}else if(score<=100){
System.out.println("分数等级位A");
}
}
• 10、输入三个整数x,y,z,请把这三个数由小到大输出(知识点:条件语句) [必做题]
for(;;){
System.out.println("请输入三个整数");
Scanner i = new Scanner(System.in);
int a = i.nextInt();
int b = i.nextInt();
int c = i.nextInt();
if(a < b){
int t = a;
a = b;
b = t;
}
if(a < c){
int t = a;
a = c;
c = t;
}
if(b < c){
int t = b;
b = c;
c = t;
}
System.out.println(c+" "+b+" "+a);
}
• 11、有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。(知识点:条件语句)
for(;;){
System.out.println("请输入不多于5位的正整数");
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int i ;
int n ;
int a ;
int n1,n2,n3,n4,n5;
if(num>99999||num<0){
System.out.println("你输入的数不合规范,请重新输入……");
}else {
if(num/1<10){
System.out.println("这是一个一位数,数字从高位到低位分别为");
}if(num/10<10&&num/10>=1){
System.out.println("这是一个两位数,数字从高位到低位分别为");
}if(num/100<10&&num/100>=1){
System.out.println("这是一个三位数,数字从高位到低位分别为");
}if(num/1000<10&&num/1000>=1){
System.out.println("这是一个四位数,数字从高位到低位分别为");
}if(num/10000<10&&num/10000>=1){
System.out.println("这是一个五位数,数字从高位到低位分别为");
}
n1 = num/10000;
n2 = num/1000%10;
n3 = num/100%10;
n4 = num/10%10;
n5 = num%10;
System.out.println(" "+n1+" "+n2+" "+n3+" "+n4+" "+n5);
}
}
• 12、编写一个程序,计算邮局汇款的汇费。如果汇款金额小于100元,汇费为一元,如果金额在100元与5000元之间,按1%收取汇费,如果金额大于5000元,汇费为50元。汇款金额由命令行输入。(知识点:条件语句) [选做题]
for(;;){
System.out.println("请输入汇款金额");
Scanner i = new Scanner(System.in);
int m = i.nextInt();
double mm = 0;
if(m<100){
mm = 1;
}if(m<5000){
mm = m*0.01;
}else{
mm=50;
}
System.out.println("汇费为:"+mm);
}
• 13、分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句) [选做题]
//for 循环
int sum = 0;
for(int i = 1;i<=100;i++){
if(i%3 ==0){
sum += i;//与sum = sum + i;相同
}
}
System.out.println("1到100之间能被3整除的数的和为"+sum);
//while循环
int i = 1;
int sum = 0;
while(i<=100){
if(i%3==0){
sum += i;//与sum = sum + i;相同
}
i++;
}
System.out.println("1到100之间能被3整除的数的和为"+sum);
int i = 1;
int sum = 0;
do{
if(i%3==0){
sum += i;//与sum = sum + i;相同
}
i++;
}while(i<=100);
System.out.println("1到100之间能被3整除的数的和为"+sum);
• 14、输出0-9之间的数,但是不包括5。 [选做题]
for(int i =0;i<10;i++){
if(i==5){
continue;
}
System.out.print(i+" ");
}
• 15、编写一个程序,求整数n的阶乘,例如5的阶乘是1*2*3*4*5 [选做题]
for(;;){
System.out.println("请输入求阶乘的整数");
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int sum =1;
for(int i =1;i<=num;i++){
sum = sum *i;
}
System.out.println(sum);
}
• 16、编写一个程序,找出大于200的最小的质数[选做题]
int num;
int i;
for(num = 200;;num++){
boolean b = true;
for(i=2;i<num/2;i++){
if(num%i==0){
b = false;
}
}
if(b){
break;
}
}
System.out.println(num);
• 17、由命令行输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321 [选做题]
for(;;){
System.out.println("请输入一个四位数");
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int n1,n2,n3,n4;
n1= num/1000;
n2 = num%1000/100;
n3 = num%1000%100/10;
n4 = num%1000%100%10;
int sum = n4*1000+n3*100+n2*10+n1;
System.out.println(num+"反转后的数为:"+sum);
}