1. 程式人生 > >javaSE練習2——流程控制_2.1

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();
}

}

效果圖如下: