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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

我的輸出為 Null,而不是使用字符串的默認(rèn)值

我的輸出為 Null,而不是使用字符串的默認(rèn)值

慕田峪7331174 2022-09-21 21:32:18
我有一個(gè)字符串,當(dāng)輸入超出指定值時(shí),該字符串被設(shè)置為默認(rèn)值,但它不斷返回null而不是默認(rèn)值。我缺少什么代碼才能獲得正確的輸出?我發(fā)現(xiàn)我的整數(shù)和雙精度值正確使用默認(rèn)值,但我的字符串沒有。這是我的前端剪輯import java.util.Scanner;public class AnimalFrontEnd {    public static final int ARRAY_SIZE = 10;    Scanner keyboard = new Scanner(System.in) ;    public static void main(String[] args) {        boolean cont = true;        int input = 0;        int type = 0;        AnimalCollection collection = new AnimalCollection(ARRAY_SIZE);        Scanner keyboard = new Scanner(System.in) ;        String rName = "";        System.out.println("Welcome to the Cat and Dog Collection");        while(cont) {            System.out.println("1. Add a cat or dog \n2. Remove a cat or dog \n3. Quit \nEnter a selection");            input = Integer.parseInt(keyboard.nextLine());            switch(input) {            case 1:                System.out.println("Would you like to add \n1. A House Cat \n2. A Leopard \n3. A Domestic Dog \n4. A Wolf");                type = Integer.parseInt(keyboard.nextLine());                switch(type) {                case 1:                    HouseCat kitty = getHCat();                    collection.addAnimal(kitty);                    break;在我的前端進(jìn)一步向下private static HouseCat getHCat() {        String name;        double weight;        String mood;        String cType;        Scanner keyboard = new Scanner(System.in) ;        System.out.println("Enter the cat's name, weight, mood, and type");        name = keyboard.nextLine();        weight = Double.parseDouble(keyboard.nextLine());        mood = keyboard.nextLine();        cType = keyboard.nextLine();        return new HouseCat(name, weight, mood, cType);    }
查看完整描述

3 回答

?
楊魅力

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊

你的家貓有兩個(gè)構(gòu)造器:


// one constructor

HouseCat(){

    this.cType = "Short Hair";

}


// another constructor

public HouseCat(String name, double weight, String mood, String cType) {

    super(name, weight, mood);

    if(cType.equalsIgnoreCase("Short Hair")||cType.equalsIgnoreCase("Bombay")||cType.equalsIgnoreCase("Ragdoll")||cType.equalsIgnoreCase("Sphinx")||cType.equalsIgnoreCase("Scottish Fold")) {

        this.setCType(cType);

    }

    else {

        System.out.println("Invalid type");

    }

}

您在前端調(diào)用具有 4 個(gè)參數(shù)的構(gòu)造函數(shù),而不是無參數(shù)構(gòu)造函數(shù),因此從未運(yùn)行過。this.cType = "Short Hair";


同樣的事情發(fā)生在 - 你用3個(gè)參數(shù)調(diào)用構(gòu)造函數(shù),而不是設(shè)置為默認(rèn)值的無參數(shù)構(gòu)造函數(shù)。Catmood


要解決此問題,只需刪除無參數(shù)構(gòu)造函數(shù),然后以內(nèi)聯(lián)方式初始化變量:


// in HouseCat

public String cType = "Short Hair"; // btw you shouldn't use public fields.


// in Cat

public String mood = "Sleepy";


查看完整回答
反對(duì) 回復(fù) 2022-09-21
?
白衣染霜花

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊

當(dāng)您創(chuàng)建名為參數(shù)化的對(duì)象時(shí),在默認(rèn)構(gòu)造函數(shù)中,您初始化了這些對(duì)象,這就是為什么這些是空的。HouseCatConstructorTypeMood


您需要在參數(shù)化中設(shè)置這些值,然后它們將顯示您的顯式輸出。像構(gòu)造函數(shù) sholud 一樣被修改ConstructorHousecat


public HouseCat(String name, double weight, String mood, String cType) {

        super(name, weight, mood);

        if(cType.equalsIgnoreCase("Short Hair")||cType.equalsIgnoreCase("Bombay")||cType.equalsIgnoreCase("Ragdoll")||cType.equalsIgnoreCase("Sphinx")||cType.equalsIgnoreCase("Scottish Fold")) {

            this.setCType(cType);

        }

        else {

            System.out.println("Invalid type");

            this.cType = "Short Hair";//<------------- set default value here

        }

    }

和構(gòu)造函數(shù)應(yīng)該像Cat


public Cat(String name, double weight, String mood) {

        super(name, weight);

        if(mood.equalsIgnoreCase("sleepy")||mood.equalsIgnoreCase("playful")||mood.equalsIgnoreCase("hungry")) {

            this.setMood(mood);

        }

        else {

            System.out.println("Invalid mood");

           this.mood = "Sleepy";//<-------------  set default value here

        }

    } 


查看完整回答
反對(duì) 回復(fù) 2022-09-21
?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊

您在 Cat 類中創(chuàng)建了兩個(gè)構(gòu)造函數(shù):


Cat(){

        this.mood = "Sleepy";

    }



    public Cat(String name, double weight, String mood) {

        super(name, weight);

        if(mood.equalsIgnoreCase("sleepy")||mood.equalsIgnoreCase("playful")||mood.equalsIgnoreCase("hungry")) {

           this.setMood(mood);

        }

        else {

            System.out.println("Invalid mood");

        }

    }

只有第一個(gè)(沒有參數(shù))初始化情緒字段。您顯然使用另一個(gè)來創(chuàng)建您的實(shí)例...


你有多個(gè)解決方案:1.刪除未使用的構(gòu)造函數(shù)并在另一個(gè)構(gòu)造函數(shù)中引發(fā)情緒 2.將未使用的構(gòu)造函數(shù)更改為“簡單”方法,您將在構(gòu)造函數(shù) 3 中立即調(diào)用該方法。...super


例:


public Cat(String name, double weight, String mood) {

  super(name, weight);

  this.mood = "Sleepy";


 if(mood.equalsIgnoreCase("sleepy")||mood.equalsIgnoreCase("playful")||mood.equalsIgnoreCase("hungry")) {

            this.setMood(mood);

        }

        else {

            System.out.println("Invalid mood");

        }

    }


查看完整回答
反對(duì) 回復(fù) 2022-09-21
  • 3 回答
  • 0 關(guān)注
  • 302 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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