第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

代碼如下,請教大佬以下幾個問題,幫幫孩子吧快改瘋了

首先,Car是父類,truck,pickuptruck和coach都沒啥東西,除了定義沒寫啥東西,主要問題出現(xiàn)在入口這,寫下來了但是不知道怎么優(yōu)化。

一。如何判斷用戶的輸入符合要求,如果不符合要求可以返回重新輸入那種。try catch不太好使,只能檢驗(yàn)出錯誤,回不去。然后已經(jīng)用了if else,現(xiàn)在思維陷入循環(huán)出不來了。我猜應(yīng)該用while,但是真是不知道怎么在里面用。

二。對于輸出結(jié)果怎么進(jìn)行判斷,因?yàn)槿绻蚁胍鈨奢v相同的車,他會打印出“可以載人的車輛有:馬自達(dá) 馬自達(dá)”這樣的。單寫都會,好多東西,什么數(shù)組加在一起就迷茫了。

三。如何將程序返回啊,就是代碼運(yùn)行到哪里,退回去。暫時沒在腦子里構(gòu)建出這么一個思想,是不是要理解為,加一個大loop或者條件。感謝感謝。

以下是代碼:

package com.car;

import java.util.Scanner;

public class Initial extends Car{


public static void main(String[] args) {

Scanner input = new Scanner(System.in);

//“利用子類創(chuàng)建新類型,并合并成數(shù)組”

Car[] carlist = {new Coach(1, "奧迪A4", 500, 4),new Coach(2, "馬自達(dá)6", 400, 4),new PickupTruck(3, "皮卡雪6", 450, 4, 2),new Coach(4, "金龍", 800, 20),new Truck(5, "松花江", 400, 4),new Truck(6, "依維柯", 1000, 20)};

System.out.println("歡迎使用答答租車系統(tǒng):");

System.out.println("您是否要租車:1.是 0.否");

int ab = input.nextInt();

//how to check the invalid input?

if(ab == 1) {

//String format = "%-8s%-10s%-8s%-6s\n";

System.out.println("序號" + "\t" + "汽車名稱" + "\t" + "租金" + "\t" + "\t" + "容量");

for(int q=0;q<carlist.length;q++) {

carlist[q].print();

}

System.out.println("請輸入您要租車的數(shù)量");

int num = input.nextInt();

int sum=0;

int sumh=0;

int sumc=0;

int[] ID = new int[num];

for(int i=0;i<num;i++) {

System.out.println("請輸入您要租的第" + (i+1) + "輛車的序號");

int id = input.nextInt();

System.out.println("請選擇要租車的天數(shù)");

int day = input.nextInt();

sum+=(carlist[id-1].price)*day;

sumh+=carlist[id-1].humanCapacity;

sumc+=carlist[id-1].capacity;

ID[i]=id;

}

System.out.println("您的賬單為");

System.out.println("可載人的車輛有:");

for(int j=0;j<num;j++) {

if(carlist[ID[j]-1].humanCapacity!=0) {

System.out.println(carlist[ID[j]].name);

}else {

System.out.println("您沒有選擇載人的車輛");

}

}

System.out.println("您總共可以載" + sumh + "人");

System.out.println("可載貨的車輛有:");

for(int k=0;k<num;k++) {

if(carlist[ID[k]-1].capacity!=0) {

System.out.println(carlist[ID[k]].name);

}else {

System.out.println("您沒有選擇載貨的車輛");

}

}

System.out.println("您總共可以載" + sumc + "噸");

System.out.println("您的總費(fèi)用為" + sum + "塊錢");

System.out.println("請根據(jù)指示付款");

System.out.println("謝謝您的使用,歡迎下次光臨");

}else {

System.out.println("感謝您使用租車系統(tǒng),歡迎下次光臨");

System.exit(0);

}

//how about if the user want to rent other cars?

}

}


正在回答

3 回答

我是應(yīng)為受到你代碼部分啟迪,現(xiàn)在回報你。你可以使用while(true)這種循環(huán)來返回上一步,當(dāng)輸入你特定指令時進(jìn)行下步循環(huán)。即你先判斷用戶輸入是否對,錯就continue,用戶輸入你所設(shè)定的特定字符串以后返回上一步。

0 回復(fù) 有任何疑惑可以回復(fù)我~

int rentOrNot=2;

while ((rentOrNot!=0) &&(rentOrNot !=1)) {

rentOrNot=input.nextInt();

if (rentOrNot==0){

System.out.println("感謝使用,再見");

}else if (rentOrNot!=1) {

System.out.println("輸入有誤,請重新輸入");

}else if (rentOrNot==1) {

System.out.println("您可租車的 類型及其價目表:");

}

}

第一個問題 while怎么用,我是這么寫的,供參考

0 回復(fù) 有任何疑惑可以回復(fù)我~

list裝汽車,選相同的汽車list里邊加一個,用do-while 里邊多寫幾個if作為每一步的操作,if里的return寫while里邊的條件(就是希望跳轉(zhuǎn)到那個操作步驟)

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

代碼如下,請教大佬以下幾個問題,幫幫孩子吧快改瘋了

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號