課後習題(Java程式設計精編教程P52)
阿新 • • 發佈:2022-04-16
課後習題(Java程式設計精編教程P52)
-
為了節約用電,將使用者的用電量分為三個區間,針對不同的區間給出不同的收費標準。對於1至90千瓦的電量,每千瓦0.6元;對於91至150千瓦的電量,每千瓦1.1元;對於大於151千瓦的電量,每千瓦1.7元。編寫一個Java程式。在主類的main方法中,輸入使用者的用電量,程式輸出電費。
import java.util.Scanner; public class ElectricCharge { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int Eletric = 0; double Charge = 0; Eletric = in.nextInt(); if (Eletric <= 90 & Eletric >=1) { Charge = 0.6*Eletric; } else if(Eletric>=90 & Eletric<=150) { Charge = 0.6*90+1.1*(Eletric-90); }else if(Eletric>150){ Charge = 0.6*90+1.1*(150-90)+1.7*(Eletric-150); }else { Charge = 0; } System.out.println(Charge); } }
-
一個數如果恰好等於它的因子之和,這個數就被稱為“完數”。編寫一個Java應用程式,輸出1000之內的所有“完數”。
public class WanShuFind { public static void main(String[] args) { // TODO Auto-generated method stub for (int i = 1; i < 1000; i++) { int sum = 0; for (int j = 1; j < i; j++) { if (i%j==0) { sum += j; } } if (sum == i) { System.out.println(i); } } } }
輸出結果為:
6 28 496
-
編寫一個程式求滿足1+2!+3!+……+n!<=9876的最大整數n。
public class MaxNumberFind { public static void main(String[] args) { // TODO Auto-generated method stub int i = 0; do { i++; } while (factSum(i)<9876); System.out.println(i-1); } public static int fact(int n) { int f = 1; for (int i = 1; i <= n; i++) { f *= i; } return f; } public static int factSum(int n) { int sum = 0; for (int i = 1; i <= n; i++) { sum += fact(i); } return sum; } }
輸出:
7