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 + ","); } } } } }
【程序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) + "萬"); } }
【程序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; } } } }
【程序14】 TestDay.java
題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
1.程序分析:以3月5日為例,應該先把前兩個月的加起來,然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大於3時需考慮多加一天。
java
【程序15】Sort.java
題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。
1.程序分析:舍近求遠,練習容器,可以使用List容器很簡單實現。
java







