實戰案例-- 用Java編寫基礎小程式
阿新 • • 發佈:2018-12-23
如果是剛接觸或者剛學習Java,練習一些基礎的演算法還是必須的,可以提升思維和語法的使用。
1、輸出兩個int數中的最大值
import java.util.Scanner; public class demo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請依次輸入兩個整數:a,b(以空格隔開)"); /*比較兩個數的大小*/ int a = scanner.nextInt(); int b = scanner.nextInt(); int max; if(a >= b){ max = a; }else { max = b; } System.out.println("最大值為"+max); } } }
2、輸出三個int數中的最大值
package demo; import java.util.Scanner; public class demo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請依次輸入兩個整數:a,b(以空格隔開)"); int a = scanner.nextInt(); int b = scanner.nextInt(); int c = scanner.nextInt(); scanner.close(); /*方法一*/ int d=(a>b)?a:b; int e=(d>c)?d:c; System.out.println("最大值為"+e); /*方法二*/ if(a>b && a>c){ System.out.println("最大值為"+a); }else if(b>c && b>a){ System.out.println("最大值為"+b); }else if(c>b && c>a){ System.out.println("最大值為"+c); }else{ System.out.println("出現異常"); } } }
3、編寫程式判斷某一個年份是否是閏年
package demo; import java.util.Scanner; /*判斷閏年 由使用者輸入任意一個年份,能被4整除但不能被100整除,或者能被400整除,是閏年。 要求判斷一個年份是否為閏年。 要求輸出:此年份是否是閏年 */ public class demo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入年份:"); int year = scanner.nextInt(); /*方法一*/ if((year % 4 ==0 && year % 100 !=0) || year%400 ==0){ System.out.println("這個年份是閏年"); }else{ System.out.println("這個年份不是閏年"); } /*方法二*/ boolean isLeapYear = (year % 4 ==0 && year % 100 !=0) || year%400 ==0; String string = isLeapYear?year+"是閏年":year+"不是閏年"; System.out.println(string); } }
**4、完成成績等級輸出程式 **如果使用者輸入的分數正確(0-100),則根據表-1中的規則計算該分數所對應的的級別,並計算結果。
package demo;
import java.util.Scanner;
/*
* 成績等級劃分表
* >= 90 A
* >=80 B
* >=60 C
* <60 D
*
* 分數範圍:0-100
*
* 需要有2個判斷*/
public class demo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入分數:");
double score = scanner.nextDouble();
scanner.close();
if(score < 0 || score >100){
System.out.println("輸入的分數不在0-100之間,不符合要求");
}else if(score >= 90){
System.out.println("A");
}else if(score >= 80){
System.out.println("B");
}else if(score >= 60){
System.out.println("C");
}else{
System.out.println("D");
}
}
}
5、完成命令解析程式 問題:有一個命令解析程式,該程式提供三個功能選型供使用者選擇,使用者選擇某功能後,程式在介面上輸出使用者所選擇的的功能名稱。程式的互動如圖:
package demo;
import java.util.Scanner;
/*
* 有一個命令解析程式,該程式提供三個功能選型供使用者選擇,
* 使用者選擇某功能後,程式在介面上輸出使用者所選擇的的功能名稱。
*
* */
public class demo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請選擇功能:1.顯示全部記錄 2.查詢登入記錄 0.退出");
int command = scanner.nextInt();
scanner.close();
switch (command) {
case 0:
System.out.println("歡迎使用");
break;
case 1:
System.out.println("顯示全部記錄……");
break;
case 2:
System.out.println("查詢登入記錄……");
break;
default:
System.out.println("輸入錯誤!");
}
}
}
6、完成收銀櫃臺收款程式 編寫一個收銀櫃臺收款程式。根據單價、購買數量以及收款進行計算並輸出應收金額和找零;當總價大於或者等於500,享受8折優惠。控制檯互動如下:
package demo;
import java.util.Scanner;
/*
* 需求:
* 編寫一個收銀櫃臺收款程式。根據單價、購買數量以及收款進行計算並輸出應收金額和找零;
* 當總價大於或者等於500,享受8折優惠。
*
*/
public class demo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入單價(¥):");
double price = scanner.nextDouble();
System.out.println("請輸入數量:");
double amount = scanner.nextDouble();
System.out.println("請輸入收款金額:");
double count = scanner.nextDouble();
double totalMoney = price*amount;
if(totalMoney > 500){
totalMoney = totalMoney*0.8;
}
double change = count - totalMoney;
System.out.println("應收金額為:"+totalMoney + "找零為:"+change);
}
}
7、java從鍵盤輸入三個整數,實現從小到大排序
package demo;
import java.util.Scanner;
/*
* java從鍵盤輸入三個整數,實現從小到大排序
*
**/
public class demo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入三個整數,以空格隔開:");
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
scanner.close();
System.out.println("輸入的值為:a = " + a + ", b = " + b + ", c = " + c);
if(a > b){
if ( b > c) {
System.out.println("排序後的值為:" + c + "," + b + "," + a);
}else if( c > a){
System.out.println("排序後的值為:" + b + "," + a + "," + c);
}else{
System.out.println("排序後的值為:" + b + "," + a + "," + c);
}
}else{
if(c < a){
System.out.println("排序後的值為:" + c + "," + a + "," + b);
}else if(c > b){
System.out.println("排序後的值為:" + a + "," + b + "," + c);
}else{
System.out.println("排序後的值為:"+ a + "," + c + "," + b);
}
}
}
}
8、計算個人所得稅 北京地區的個人所得稅計算公式: 應納稅額 = (工資薪金所得 - 扣除數)*適用稅率 - 速算扣除數 其中,扣除數為3500,適用稅率以及速算扣除數如下表所示:
package demo;
import java.util.Scanner;
/*
* 北京地區的個人所得稅計算公式:
應納稅額 = (工資薪金所得 - 扣除數)*適用稅率 - 速算扣除數
其中,扣除數為3500
*/
public class demo9 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入你的稅前工資:");
int salaryBeforeTax = scanner.nextInt();
scanner.close();
int taxSalary = salaryBeforeTax - 3500;
double tax;
/* 方法一*/
tax = taxSalary<0?0.0:
taxSalary<=1500?taxSalary*0.03:
taxSalary<=4500?taxSalary*0.1-105:
taxSalary<=9000?taxSalary*0.2-555:
taxSalary<=35000?taxSalary*0.25-1005:
taxSalary<=55000?taxSalary*0.3-2755:
taxSalary<=80000?taxSalary*0.35-5505:
taxSalary*0.45-13505;
System.out.println("個人應繳納稅款為:"+tax);
/*方法二*/
if( taxSalary < 0 ){
tax = 0;
}else if( taxSalary <= 1500){
tax = taxSalary*0.03;
}else if( taxSalary <= 4500){
tax = taxSalary*0.1-105;
}else if( taxSalary <= 9000){
tax = taxSalary*0.2-555;
}else if( taxSalary <= 35000){
tax = taxSalary*0.25-1005;
}else if( taxSalary <= 55000){
tax = taxSalary*0.3-2755;
}else if( taxSalary <= 80000){
tax = taxSalary*0.35-5505;
}else{
tax = taxSalary*0.45-13505;
}
System.out.println("個人應繳納稅款為:"+tax);
}
}
9、輸入年份和月份,輸出天數
package demo;
import java.util.Scanner;
/*
提示:
1.需要判斷是否是閏年,2月份的天數跟是否是閏年有關係;
2.用switch-case判斷每個月的天數
*/
public class demo10 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入年份:");
int year = scanner.nextInt();
System.out.println("請輸入月份:");
int month = scanner.nextInt();
int dayNum = theDayNum(month); //先根據月份得出天數,如果是閏年,對2月份的天數重新獲取
if(isLeapYear(year)){
if(month == 2){
dayNum ++; //如果是閏年,2月份增加一天
}
System.out.print(year + "是閏年,");
}else{
System.out.print(year + "不是閏年,");
}
System.out.println(year + "年" + month + "月份共有" + dayNum + "天");
}
/*判斷是否是閏年
* 能被4整除但不能被100整除,或者能被400整除,是閏年
*/
public static boolean isLeapYear(int year) {
if((year % 4 ==0 && year % 100 !=0) || year%400 ==0){
return true;
}else{
return false;
}
}
/*判斷天數*/
public static int theDayNum(int month) {
switch (month) {
case 1:
return 31;
case 2:
return 28;
case 3:
return 31;
case 4:
return 30;
case 5:
return 31;
case 6:
return 30;
case 7:
return 31;
case 8:
return 31;
case 9:
return 30;
case 10:
return 31;
case 11:
return 30;
case 12:
return 31;
default:
System.out.println("對不起,您輸入的月份有誤!");
return 0;
}
}
}