50道經典的JAVA編程題 (11-15)


50道經典的JAVA編程題 (11-15),新年的第一天,繼續啦。。。\(^o^)/~,這50道題都跨年了啊。。。哈哈


【程序11】 TestTN.java
題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少?
1.程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。

package test50;

/**
 * @author VellBibi
 *【程序11】 TestTN.java
 *題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少? 
 *1.程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。
 */
public class TestTN {
	
	public static void main(String[] args) {
		for(int i=1; i<=4; i++){
			for(int j=1; j<=4; j++){
				if(j == i) continue;
				for(int k=1; k<=4; k++){
					if(k == j || k == i) continue;
					System.out.print(i*100 + j*10 + k + ",");
				}
			}
		}
	}

}

image


【程序12】 MoneyAward.java
題目:企業發放的獎金根據利潤提成。利潤(I)低於或等於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%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?
1.程序分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。

package test50;

import java.io.BufferedReader;
import java.io.InputStreamReader;

/**
 * @author VellBibi
 *【程序12】 MoneyAward.java
 *題目:企業發放的獎金根據利潤提成。
 *利潤(I)低於或等於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%提成,
 *從鍵盤輸入當月利潤I,求應發放獎金總數? 
 *1.程序分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。
 */
public class MoneyAward {

	public static double sumMoneyAward(double i){
		if(i <= 10){
			return i * 0.1;
		}else if(i < 20){
			return ((i - 10) * 0.075 + 1);
		}else if(i < 40){
			return (i - 20) * 0.05;
		}else if(i < 60){
			return (i - 40) * 0.03;
		}else if(i < 100){
			return (i - 60) * 0.015;
		}else{
			return (i - 100) * 0.001;
		}
	}
	
	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		double I = 0;
		try {
			System.out.println("請輸入當月利潤I:(單位:萬)");
			I = Integer.parseInt(br.readLine());
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		System.out.println("獎金總數:" + sumMoneyAward(I) + "萬");
	}

}

imageimageimageimage


【程序13】FindNumber.java
題目:一個整數,它加上100后是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?
1.程序分析:在10萬以內判斷,先將該數加上100后再開方,再將該數加上268后再開方,如果開方后的結果滿足如下條件,即是結果。請看具體分析:

package test50;

/**
 * @author VellBibi
 *【程序13】FindNumber.java
 *題目:一個整數,它加上100后是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少? 
 *1.程序分析:在10萬以內判斷,先將該數加上100后再開方,再將該數加上268后再開方,如果開方后的結果滿足如下條件,即是結果。請看具體分析:
 */
public class FindNumber {

	public static void main(String[] args) {
		for(int i=1; i<100000; i++){
			if(Math.sqrt(i + 100) % 1 == 0 && Math.sqrt(i + 268) % 1 == 0){
				System.out.println(i);
//				break;
			}
		}
	}
}

image


【程序14】 TestDay.java
題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
1.程序分析:以3月5日為例,應該先把前兩個月的加起來,然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大於3時需考慮多加一天。

java

image


【程序15】Sort.java
題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。
1.程序分析:舍近求遠,練習容器,可以使用List容器很簡單實現。

java

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM