.Java多分支;if……else…… 每噸貨物每公里運費P與運輸距離S有關,路途越遠,每公里運價越低。兩種解決方案
阿新 • • 發佈:2019-01-01
每噸貨物每公里運費P與運輸距離S有關,路途越遠,每公里運價越低。公式如下:
p=10s<100
8100<=s<150
7150<=s<200
6200<=s<300
5.5 300<=s<500
5s>=500
如果所付的總運費超過5000元時,再給予九五折優惠,
從鍵盤輸入貨物噸數、運輸公里數,求應付的運費,要求精確到角、分。
//不用方法
import java.util.Scanner;
class Dome6
{
public static void main(String[] args){
Scanner sc=new Sacnner(System.in);
System.out.println("請輸入你要運輸的噸數:");
double x=sc.nextInt();
System.out.println("請輸入你要運輸的距離:");
double s=sc.nextInt();
if(s<100){
int p=10;
if(x*p<5000){
System.out.println("需要的運費為:"+(x*p));
}else{ System.out.println("需要的運費為:"+(x*p)*0.95); }
}else if(s>=100&&s<150){
int p=8;
if(x*p<5000){
System.out.println("需要的運費為:"+(x*p));
}else{ System.out.println("需要的運費為:"+(x*p)*0.95); }
}else if(s>=150&&s<200){
int p=7;
if(x*p<5000){
System.out.println("需要的運費為:"+(x*p));
}else{ System.out.println("需要的運費為:"+(x*p)*0.95); }
}else if(s>=200&&s<300){
int p=6;
if(x*p<5000){
System.out.println("需要的運費為:"+(x*p));
}else{ System.out.println("需要的運費為:"+(x*p)*0.95); }
}else if(s>=300&&s<500){
int p=5.5;
if(x*p<5000){
System.out.println("需要的運費為:"+(x*p));
}else{ System.out.println("需要的運費為:"+(x*p)*0.95); }
}else if(s>=500){
int p=5;
if(x*p<5000){
System.out.println("需要的運費為:"+(x*p));
}else{ System.out.println("需要的運費為:"+(x*p)*0.95); }
}
}
}
}
//使用方法後
import java.util.Scanner;
class Dome6
{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("請輸入你要運輸的噸數:");
double x=sc.nextInt();
System.out.println("請輸入你要運輸的距離:");
double s=sc.nextInt();
if(s<100){
double p=10;
Freight(x,p);
}else if(s>=100&&s<150){
double p=8;
Freight(x,p);
}else if(s>=150&&s<200){
double p=7;
Freight(x,p);
}else if(s>=200&&s<300){
double p=6;
Freight(x,p);
}else if(s>=300&&s<500){
double p=5.5;
Freight(x,p);
}else if(s>=500){
double p=5;
Freight(x,p);
}
}
public static void Freight(double x,double p){
if (x*p>5000)
{
System.out.println("需要的運費為:"+(x*p)*0.95);
} else{
System.out.println("需要的運費為:"+(x*p));
}
}
}
p=10s<100
8100<=s<150
7150<=s<200
6200<=s<300
5.5 300<=s<500
5s>=500
如果所付的總運費超過5000元時,再給予九五折優惠,
從鍵盤輸入貨物噸數、運輸公里數,求應付的運費,要求精確到角、分。
//不用方法
import java.util.Scanner;
class Dome6
{
public static void main(String[] args){
Scanner sc=new Sacnner(System.in);
System.out.println("請輸入你要運輸的噸數:");
double x=sc.nextInt();
System.out.println("請輸入你要運輸的距離:");
double s=sc.nextInt();
if(s<100){
int p=10;
if(x*p<5000){
System.out.println("需要的運費為:"+(x*p));
}else{ System.out.println("需要的運費為:"+(x*p)*0.95); }
}else if(s>=100&&s<150){
int p=8;
if(x*p<5000){
System.out.println("需要的運費為:"+(x*p));
}else{ System.out.println("需要的運費為:"+(x*p)*0.95); }
}else if(s>=150&&s<200){
int p=7;
if(x*p<5000){
System.out.println("需要的運費為:"+(x*p));
}else{ System.out.println("需要的運費為:"+(x*p)*0.95); }
}else if(s>=200&&s<300){
int p=6;
if(x*p<5000){
System.out.println("需要的運費為:"+(x*p));
}else{ System.out.println("需要的運費為:"+(x*p)*0.95); }
}else if(s>=300&&s<500){
int p=5.5;
if(x*p<5000){
System.out.println("需要的運費為:"+(x*p));
}else{ System.out.println("需要的運費為:"+(x*p)*0.95); }
}else if(s>=500){
int p=5;
if(x*p<5000){
System.out.println("需要的運費為:"+(x*p));
}else{ System.out.println("需要的運費為:"+(x*p)*0.95); }
}
}
}
}
//使用方法後
import java.util.Scanner;
class Dome6
{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("請輸入你要運輸的噸數:");
double x=sc.nextInt();
System.out.println("請輸入你要運輸的距離:");
double s=sc.nextInt();
if(s<100){
double p=10;
Freight(x,p);
}else if(s>=100&&s<150){
double p=8;
Freight(x,p);
}else if(s>=150&&s<200){
double p=7;
Freight(x,p);
}else if(s>=200&&s<300){
double p=6;
Freight(x,p);
}else if(s>=300&&s<500){
double p=5.5;
Freight(x,p);
}else if(s>=500){
double p=5;
Freight(x,p);
}
}
public static void Freight(double x,double p){
if (x*p>5000)
{
System.out.println("需要的運費為:"+(x*p)*0.95);
} else{
System.out.println("需要的運費為:"+(x*p));
}
}
}