javaSE练习2——流程控制_2.1
Posted itxiaobai-liujb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 + "
能被5和6整除");
} else if (i % 5 == 0) {
System.out.println("随机数:" + i + "
能被5整除");
} else if (i % 6 == 0) {
System.out.println("随机数:" + i + "
能被6整除");
} else {
System.out.println("随机数:" + i + "
不能被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();
}
}
效果图如下:
以上是关于javaSE练习2——流程控制_2.1的主要内容,如果未能解决你的问题,请参考以下文章