1. 程式人生 > >實戰案例-- 用Java編寫基礎小程式

實戰案例-- 用Java編寫基礎小程式

如果是剛接觸或者剛學習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; 

 } 

 } 

}