電信計費
某電信公司手機通話費計算程式
某公司設計了一個手機話費套餐,見下表
套餐類型 國内基本通話時長 超出部分收費 免費短信包 超出部分收費 國内資料流量 超出部分收費 套餐價格
A套餐 250min 0.25/min 100條 0.1元/條 50MB 0.3元/MB 58元/月
*基本通話時長不足1分鐘的按照1分鐘計算;資料流量不足1M的按照1M計算
要求編寫程式,從控制台讀入使用者的本月國内通話時長、短信條數和資料流量,計算出該使用者本月的應激的話費(不計算國際及港澳台通話和其他增值業務的費用)。
import java.util.Scanner;
public class Test1109{
public static void main(String[] args){
/*定義 通話時長 call double
短信條數 msg int
流量 flow double
資費 double fee
超出部分的通話費用 call_fee double
超出部分的短信費用 msg_fee double
超出部分的流量費用 flow_fee double*/
Scanner sca = new Scanner(System.in);
System.out.println("請錄入通話時長:");
double call = sca.nextDouble();
System.out.println("請錄入短信條數:");
int msg = sca.nextInt();
System.out.println("請錄入使用的流量數:");
double flow = sca.nextDouble();
double fee= 58 ;
//Math.ceil()方法執行的是向上取整計算,它傳回的是大于或等于函數參數,并且與之最接近的整數。
if (call>250){
fee+=Math.ceil(call-250)*0.25;
}
if (msg>100){
fee+=Math.ceil(msg-100)*0.1;
}
if (flow>50){
fee+=Math.ceil(flow-50)*0.3;
}
System.out.println("總資費:"+fee);
}
}
停車費用
停車場收費規則如下:15分鐘之内不收費,超過15分鐘到2小時,收費2元,2小時之後,每小時收費3元,
不足1小時按照1小時計算。停車場最高封頂收費50元,從鍵盤輸入停車的分鐘數,
分鐘數小于0則提示錯誤,輸入正确,則計算停車費用并輸出。
import java.util.Scanner;
public class Test4{
public static void main(String[]args){
Scanner sc = new Scanner(System.in);
System.out.println("請輸入停車分鐘");
double b=0; //double型
double a =sc.nextDouble();
if (a<=0){
System.out.println("分鐘錯誤!");
}else if (a<=15){
b=0;
}else if(a<(60*2)){
b=2;
}else {
b=Math.ceil((a-(60*2))/60)*3+2;
//Math.ceil()方法執行的是向上取整計算,它傳回的是大于或等于函數參數,并且與之最接近的整數。
}
if (b>50){
b=50; //停車場最高封頂收費50元
}
System.out.println("您停了"+a+"分鐘"+"應收費"+b+"元");
}
}
函件費用
import java.util.Scanner;
public class Test1108{
public static void main(String[] args){
Scanner sc= new Scanner(System.in);
double a=0;
double fee=0;
int n=0;
int w=0;
double z=0;
System.out.println("請輸入函件重量");
while(true){
a=sc.nextInt();
if(a<=0){
System.out.println("不合法");
break;
}else if(a>2000){
System.out.println("超重,請重新輸入");
continue;
}
//Math.ceil()方法執行的是向上取整計算,它傳回的是大于或等于函數參數,并且與之最接近的整數。
if(a<=100){
fee=Math.ceil(a/20)*1.2;
n++;
}else{
fee=Math.ceil((a-100)/100)*3.6+6; //計算停車費
w++;
}
z=z+fee;
System.out.println("函件費用為"+fee);
}
System.out.println("函件重量在100以内的個數為"+n+"函件重量大于100的個數為"+w);
System.out.println("總資費為"+z);
}
}