Java學習之流程控制練習
1、某市計程車計費標準如下圖所示,請根據此標準完成一個計程車計費模擬功能,能夠計算總費用和列出產生費用專案詳細情況說明,幫助計程車師傅和乘客瞭解計費標準。
結合上述表格,可以得出:總車費=里程費用+低速行駛費(或者等候費)+預約叫車服務費+空駛費+夜間收費+燃油附加費。需要收集的資料有:里程數、低速行駛時長(早晚高峰期行駛時長和其他時間段行駛時長)、是否預約叫車(按四小時為標準)、開始乘坐計程車時間、計程車到達終點站時間,結合這些資料和表中提供的標準就可以使用程式進行計算總車費了。
package com.day05.homework1;
import java.util.Scanner;
public class Taxt {
public static void main(String[] args) {
int totalMoney=0;//總車費
double mileageMoney=0;//里程費用
double totalMileage = 0;//總里程
double orderMoney=0;//預約費用
double slowTime = 0;//低速行駛時長
double slowMoney=0;//低速行駛費用
Scanner input= new Scanner(System.in);
System.out.println("請輸入開始乘車時間:");
int timeStart = input.nextInt();
System.out.println("請輸入到達目地時間:");
int timeFinish = input.nextInt();
int time = timeFinish-timeStart;//路程總時長
System.out.println("請輸入低俗行駛的時長(分鐘):");
slowTime =input.nextInt();
//低速行駛費用
if (7<=timeStart&&timeStart<9 || 17<=timeStart&&timeStart<19) {
slowMoney=(slowTime/5)*(2*2.3);
}else {
slowMoney=(slowTime/5)*(1*2.3);
}
//預約費用
System.out.println("請輸入是否預約車");
String isOrder = input.next();
if (isOrder.equals("是")) {
System.out.println("是否提前4個小時預約");
String orderTime = input.next();
if (orderTime.equals("是")) {
orderMoney=6;
}else {
orderMoney=5;
}
}else {
System.out.println("您沒有預約車");
}
//行駛路程費用
System.out.println("輸入行駛路程(公里):");
totalMileage =input.nextInt();
if (totalMileage<=3) {//行駛在3公里範圍內
totalMoney=13;
}else if (totalMileage>15) {//里程超過15公里
//白天費用
mileageMoney =(15*2.3)+(totalMileage-15)*2.3*(1+0.5);
//夜間費用
if (23<=timeStart&&0<=timeStart&&timeStart<5) {
mileageMoney =(15*2.3)+(totalMileage-15)*2.3*(1+0.5)*(totalMileage*2.3*(1+0.2));
}
}else if (totalMileage<15) {//里程在3-15公里內
//白天費用
mileageMoney=totalMileage*2.3;
//夜間費用
if (23<=timeStart&&0<=timeStart&&timeStart<5) {
mileageMoney=totalMileage*2.3+totalMileage*2.3*(1+0.2);
}
}
//總共費用
totalMoney=(int)(slowMoney+orderMoney+mileageMoney);
System.out.println("您本次的費用為:"+totalMoney+"元");
}
}
2、計算應繳金額
商場根據會員積分打折:
2000 分以內打 9 折,
4000 分以內打 8 折,
8000 分以內打 7.5 折,
8000 分以上打 7 折,使用 if-else-if 結構,實現手動輸入購物金額和積分,計算出應繳金額:
package com.day05.homework3;
import java.util.Scanner;
public class Market {
public static void main(String[] args) {
double totalMoney=0;//總應繳金額
int money=0;//購買金額
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入你購買的金額:");
if(scanner.hasNextInt()) {
money = scanner.nextInt();
}else {
System.out.println("請正確輸入金額:");
}
System.out.println("請輸入你的積分:");
if(scanner.hasNextInt()) {
int integral =scanner.nextInt();
if(integral<=2000) {
totalMoney=money*0.9;
}else if(integral<=4000) {
totalMoney=money*0.8;
}else if(integral<=8000) {
totalMoney=money*0.75;
}else {
totalMoney=money*0.7;
}
}else {
System.out.println("請正確輸入積分");
}
System.out.println("你應繳的費用為:"+totalMoney);
}
}
3 、計算該年該月天數一年中有 12 個月,而每個月的天數是不一樣的。其中大月 31 天,分別為1,3,5,7,8,10,12 月,小月 30 天,分別 為 4,6,9,11 月。還有二月比較特殊,平年的二月只有 28 天,而閏年的二月有 29 天,由使用者在控制檯輸入年份和月份,程式計算該年該月的天數。
package com.day05.homework3;
import java.util.Scanner;
public class TestDay {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入四位數的年份:");
int year=scanner.nextInt();
System.out.println("請輸入年份:");
if(scanner.hasNextInt()) {
int month=scanner.nextInt();
switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("該月份有"+31+"天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("該月份有"+30+"天");
break;
case 2:
if(year%4==0&&year%100!=0||year%400==0) {
System.out.println("該月份有"+29+"天");
}else {
System.out.println("該月份有"+28+"天");
}
}
}
}
}
4 、圖形列印任務在控制檯中,編寫三個 Demo,分別輸出如下圖形:
圖一:
package com.day05.homework3;
public class Demo1 {
public static void main(String[] args) {
for(int i=0;i<5;i++) {
for(int j=0;j<i+1;j++) {
System.out.print("*");
}
System.out.println();
}
}
}
圖二:
package com.day05.homework3;
public class Demo2 {
public static void main(String[] args) {
for(int i=0;i<5;i++) {
for(int j=i+1;j<=5;j++) {
System.out.print("*");
}
System.out.println();
}
}
}
圖三:
package com.day05.homework3;
public class Demo3 {
public static void main(String[] args) {
for(int i=0;i<5;i++) {
for(int j=i+1;j<5;j++) {
System.out.print(" ");
}
for(int j=1;j<=i*2+1;j++) {
System.out.print("*");
}
System.out.println();
}
}
}
5、表 、列印九九乘法表 ,效果如圖:
package com.day05.homework3;
public class Multiplication {
public static void main(String[] args) {
for(int i=1;i<=9;i++) {
for(int j=1;j<=i;j++) {
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
}
}
6 、列印三位數中的所有水仙花數
所謂“水仙花數”即一個整數滿足其值等於各個數位的立方和。
如: 153 是一個水仙花數,因為 153= 1³+5³+3³
package com.day05.homework3;
import java.util.Scanner;
public class Daffodils {
public static void main(String[] args) {
System.out.println("三位數的水仙花數:");
for (int i = 100; i < 1000; i++) {
int a = i%10;//個位數
int b = i%100/10;//十位數
int c = i%1000/100;//百位數
if(a*a*a+b*b*b+c*c*c==i) {
System.out.println(i);
}
}
}
}
相關文章
- Java學習之流程控制Java
- Java學習之流Stream理解(一)Java
- Java學習之陣列練習Java陣列
- java學習室SCJP線上練習Java
- Java學習過程Java
- Java 學習歷程Java
- Java學習筆記——陣列練習(七)Java筆記陣列
- Java學習之基礎語法練習Java
- Java學習之for迴圈列印菱形練習Java
- java的學習過程Java
- 【java學習】控制執行流程Java
- 如何高效學習java課程Java
- Scala學習(三)練習
- Scala學習(四)練習
- Scala學習(五)練習
- Scala學習(六)練習
- Scala學習(七)練習
- Java方法練習Java
- java練習題Java
- 檢視、儲存過程以及許可權控制練習儲存過程
- 如何學習Java? 在學習Java的過程中需要掌握哪些技能?Java
- maven 學習總結(二)——Maven專案構建過程練習Maven
- Java Map集合練習Java
- Java繼承練習Java繼承
- JAVA 陣列 練習Java陣列
- Java之反射--練習Java反射
- java基礎學習之十二:控制流Java
- JAVA學習腳印3: java語言控制流程Java
- java學習之道 --- 如何學習java?Java
- JAVA 基礎練習題Java
- java異常練習題Java
- Java Web概述-練習題JavaWeb
- Java基礎 --- 綜合練習Java
- 深度學習訓練過程中的學習率衰減策略及pytorch實現深度學習PyTorch
- 正規表示式學習和練習
- Python學習-while迴圈練習PythonWhile
- 《刻意練習》+《刻意學習》閱讀摘要
- Java第十二章練習習題Java