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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

用笨辦法寫的作業(yè) 有老師或大大看看達(dá)標(biāo)不?

我用笨辦法寫的 寫了5個(gè)類?

一個(gè)父類 五個(gè)子類 一個(gè)main類 想知道如何能優(yōu)化 更省代碼省空間呢?

如下:

父類 Transp

public class Transp {

public String transpName;

public String transpStyle;

public int transpNum;


public String getTranspName() {

return transpName;

}

public void setTranspName(String transpName) {

this.transpName = transpName;

}

public String getTranspStyle() {

return transpStyle;

}

public void setTranspStyle(String transpStyle) {

this.transpStyle = transpStyle;

}

public int getTranspNum() {

return transpNum;

}

public void setTranspNum(int transpNum) {

this.transpNum = transpNum;

}

public void setFields() {

setTranspName(null);

setTranspStyle(null);

setTranspNum(0);

}

}

子類 Bus

public class Bus extends Transp {


public void setFields() {

setTranspName("Bus");

setTranspStyle("land");

setTranspNum(40);

}

}

子類 Plane

public class Plane extends Transp {


public void setFields() {

setTranspName("Plane");

setTranspStyle("air");

setTranspNum(100);

}

}

子類 Ship

public class Ship extends Transp {


public void setFields() {

setTranspName("Ship");

setTranspStyle("sea");

setTranspNum(200);

}

}

子類 SpacePlane

public class SpacePlane extends Transp {


public void setFields() {

setTranspName("SpacePlane");

setTranspStyle("spcace");

setTranspNum(20);

}

}

子類 Train

public class Train extends Transp {


public void setFields() {

setTranspName("Train");

setTranspStyle("rail");

setTranspNum(500);

}

}

main類

import java.util.Scanner;


public class mainTransp {

public static void main(String[] args) {

double scannerNum;

Scanner input = new Scanner(System.in);

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

System.out.println("請(qǐng)輸入查詢序號(hào):? 1為Bus 2為Plane 3為Ship 4為SpacePlane 5為Train 0為查詢所有");

scannerNum = input.nextDouble();

if (scannerNum < 0 || scannerNum > 5 || scannerNum != (int) scannerNum) {

System.out.println("輸入有誤 請(qǐng)重新輸入!");

continue;

} else {

if (scannerNum == 1 || scannerNum == 0) {

Bus set = new Bus();

set.setFields();

System.out.println("運(yùn)輸方式:" + set.getTranspName() + "\n運(yùn)輸路線為:" + set.getTranspStyle() + "\n運(yùn)送人數(shù)為:"

+ set.getTranspNum() + "\n");

if (scannerNum != 0) {

break;

}

}

if (scannerNum == 2 || scannerNum == 0) {

Plane set = new Plane();

set.setFields();

System.out.println("運(yùn)輸方式:" + set.getTranspName() + "\n運(yùn)輸路線為:" + set.getTranspStyle() + "\n運(yùn)送人數(shù)為:"

+ set.getTranspNum() + "\n");

if (scannerNum != 0) {

break;

}

}

if (scannerNum == 3 || scannerNum == 0) {

Ship set = new Ship();

set.setFields();

System.out.println("運(yùn)輸方式:" + set.getTranspName() + "\n運(yùn)輸路線為:" + set.getTranspStyle() + "\n運(yùn)送人數(shù)為:"

+ set.getTranspNum() + "\n");

if (scannerNum != 0) {

break;

}

}

if (scannerNum == 4 || scannerNum == 0) {

SpacePlane set = new SpacePlane();

set.setFields();

System.out.println("運(yùn)輸方式:" + set.getTranspName() + "\n運(yùn)輸路線為:" + set.getTranspStyle() + "\n運(yùn)送人數(shù)為:"

+ set.getTranspNum() + "\n");

if (scannerNum != 0) {

break;

}

}

if (scannerNum == 5 || scannerNum == 0) {

Train set = new Train();

set.setFields();

System.out.println("運(yùn)輸方式:" + set.getTranspName() + "\n運(yùn)輸路線為:" + set.getTranspStyle() + "\n運(yùn)送人數(shù)為:"

+ set.getTranspNum() + "\n");

if (scannerNum != 0) {

break;

}

}

break;

}

}


}

}


運(yùn)行后需要獲取輸入數(shù)字 是0-5的整數(shù)則相應(yīng)的輸出對(duì)應(yīng)的交通工具和運(yùn)送人數(shù)? 0為輸出所有? 錯(cuò)誤數(shù)字有提示

輸入0 運(yùn)行如下:

請(qǐng)輸入查詢序號(hào):? 1為Bus 2為Plane 3為Ship 4為SpacePlane 5為Train 0為查詢所有

0

運(yùn)輸方式:Bus

運(yùn)輸路線為:land

運(yùn)送人數(shù)為:40


運(yùn)輸方式:Plane

運(yùn)輸路線為:air

運(yùn)送人數(shù)為:100


運(yùn)輸方式:Ship

運(yùn)輸路線為:sea

運(yùn)送人數(shù)為:200


運(yùn)輸方式:SpacePlane

運(yùn)輸路線為:spcace

運(yùn)送人數(shù)為:20


運(yùn)輸方式:Train

運(yùn)輸路線為:rail

運(yùn)送人數(shù)為:500


有老師指點(diǎn)一下嗎 謝謝

正在回答

3 回答

說實(shí)話,你這寫的太亂太雜了,開始用set和get來封裝的時(shí)候transpName和transpStyle前面修飾符就要為private,你定義為public就沒必要寫get,set方法

最后用個(gè)for來循環(huán)是為了防止亂輸入來寫的嗎?沒有必要呀,你現(xiàn)在學(xué)習(xí)的就那么多,沒有必要去防止出現(xiàn)異常啥的來操作,就按照學(xué)到的知識(shí)寫就行了,你要非得自己輸入什么就顯示什么,那就直接用switch來寫,0-6代表啥輸出啥就行,要不然就直接輸出五種汽車得了,暫時(shí)不要想太多

Bus set = new Bus();你這樣new一個(gè)對(duì)象,對(duì)象名為set后面所有的都設(shè)置為set,你這不仔細(xì)看都不明白?set.getTranspName()這set哪來的,直接就定義為bus得了,一般定義名字都是看著就懂的,不然沒注釋仔細(xì)看太累了

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

http://img1.sycdn.imooc.com//5f35f6aa0001a46819201032.jpg

get和set方法和你的一樣,就是選擇的結(jié)構(gòu)不一樣,這樣個(gè)人感覺方便

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

qq_慕哥0281867

請(qǐng)問一下,不是很理解為什么要用get和set
2020-08-26 回復(fù) 有任何疑惑可以回復(fù)我~

選擇的話可以改成switch,比較方便點(diǎn),然后輸出那個(gè)子類的屬性也會(huì)比你的那個(gè)方便很多


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

舉報(bào)

0/150
提交
取消
Java入門第二季 升級(jí)版
  • 參與學(xué)習(xí)       531137    人
  • 解答問題       6326    個(gè)

課程升級(jí)!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會(huì)Java面向?qū)ο缶幊痰膴W妙

進(jìn)入課程

用笨辦法寫的作業(yè) 有老師或大大看看達(dá)標(biāo)不?

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

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

幫助反饋 APP下載

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

公眾號(hào)

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