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

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

Java,在方法內(nèi)部,無(wú)法將雙精度數(shù)轉(zhuǎn)換為字符串

Java,在方法內(nèi)部,無(wú)法將雙精度數(shù)轉(zhuǎn)換為字符串

白豬掌柜的 2023-07-28 16:02:37
我對(duì) Java 很陌生,所以如果這是一個(gè)簡(jiǎn)單的錯(cuò)誤,我深表歉意。我有一個(gè) java 類,它被賦予一個(gè) double 值,并且必須使用一個(gè)方法將其作為字符串返回。我得到不同的結(jié)果。我嘗試在 get 方法中合并一個(gè)字符串轉(zhuǎn)換器。我嘗試使用另一種方法,專門用于轉(zhuǎn)換處理。我試過(guò)了Double.parsedouble(),,valueOf()。toString()一般來(lái)說(shuō),這些在主類中工作,但我的作業(yè)指定它必須在方法中。//其他幾個(gè)方法,默認(rèn)構(gòu)造函數(shù)省略。public class GuitarFubar {    private double guitarLength;    }    public GuitarFubar(double guitarLength){        this.guitarLength = guitarLength;    }    public double getGuitarLen(double guitarLength){        return guitarLength;    }    // also tried its own method.. it will only return 0.0..    public String sillyString(){        String str0 = "" + guitarLength;        return str0;    }}--------主類-----public class GuitarMClass {    public static void main(String[] args) {        GuitarFubar output2 = new GuitarFubar();        String mkShft2 = ("" + output2.getGuitarLen(12.2));         GuitarFubar bString = new GuitarFubar();        System.out.println(bString.sillyString());   }}實(shí)際結(jié)果“錯(cuò)誤:無(wú)法將雙精度數(shù)轉(zhuǎn)換為字符串”或打印結(jié)果為 0.0(本應(yīng)為 12.2))
查看完整描述

4 回答

?
神不在的星期二

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

Java 類Double包含一個(gè)靜態(tài)方法,可以執(zhí)行您要查找的操作。

Double.toString(doubleValue)

您可以通過(guò)幾種不同的方式解決您的問(wèn)題,具體取決于您希望GuitarFubar類具有的功能:

public class GuitarMClass {


? ? public static void main(String[] args) {


? ? ? ? // OPTION 1

? ? ? ? GuitarFubar output2 = new GuitarFubar();

? ? ? ? output2.setGuitarLength(12.2);

? ? ? ? String mkShft2 = output2.getGuitarLengthAsString();

? ? ? ? System.out.println(mkShft2);


? ? ? ? // OPTION 2

? ? ? ? GuitarFubar bString = new GuitarFubar();

? ? ? ? bString.setGuitarLength(12.2);? //your example code never sets the value of guitarLength, which is why one of your outputs is '0.0'

? ? ? ? System.out.println(Double.toString(bString.getGuitarLength()));


? ? ? ? // OPTION 3

? ? ? ? GuitarFubar guitarFubar = new GuitarFubar(12.2); // actually use the guitar length when constructing a new instance

? ? ? ? System.out.println(Double.toString(guitarFubar.getGuitarLength()));

? ?}


? ?public class GuitarFubar {

? ? ? ? private double guitarLength;


? ? ? ? // make sure you have a no-args constructor if that's how you are going to instantiate your class

? ? ? ? public GuitarFubar(){

? ? ? ? }


? ? ? ? public GuitarFubar(double guitarLength){

? ? ? ? ? ? this.guitarLength = guitarLength;

? ? ? ? }


? ? ? ? // make sure you have a proper 'getter'

? ? ? ? public double getGuitarLength(){

? ? ? ? ? ? return this.guitarLength;

? ? ? ? }


? ? ? ? // make sure you have a proper 'setter'

? ? ? ? public void setGuitarLength(double guitarLength){

? ? ? ? ? ? this.guitarLength = guitarLength;

? ? ? ? }


? ? ? ? // alternative to sillyString method if you want this functionality within your GuitarFubar class?

? ? ? ? // (although not required since a caller of getGuitarLength() can handle String conversion)

? ? ? ? public String getGuitarLengthAsString() {

? ? ? ? ? ? return Double.toString(this.guitarLength);

? ? ? ? }


? ? }


}


查看完整回答
反對(duì) 回復(fù) 2023-07-28
?
呼如林

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

這是你困惑的根源:


public double getGuitarLen(double guitarLength){

    return guitarLength;

}

那不是吸氣劑。它也不是二傳手。這是一個(gè)分流器,它只是準(zhǔn)確地返回它所得到的值,而不將值存儲(chǔ)在任何地方。


GuitarFubar output2 = new GuitarFubar();

這不會(huì)編譯,因?yàn)槟愕臉?gòu)造函數(shù)需要一個(gè)參數(shù)。即使你給了它,getGuitarLen也不會(huì)歸還,因?yàn)樗匀皇且环N分流。如果你更改getGuitarLen為


public double getGuitarLen(){

    return this.guitarLength;

}

它仍然不起作用,因?yàn)槟銖奈绰暶鬟^(guò)


double guitarLength;

作為GuitarFubar國(guó)家的一部分。


進(jìn)行這些更改,它應(yīng)該會(huì)起作用。


并不是說(shuō)你真的需要這樣做,因?yàn)楸磉_(dá)式:


"" + doubleToString;

將被轉(zhuǎn)換成字符串。如果你在方法內(nèi)部并不重要。doubleToString是否已聲明并賦予值確實(shí)很重要。任何方法、構(gòu)造函數(shù)或初始值設(shè)定項(xiàng)都可以實(shí)現(xiàn)此目的。


查看完整回答
反對(duì) 回復(fù) 2023-07-28
?
catspeake

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

盡量保持簡(jiǎn)單:


我們有一個(gè)只有一個(gè)字段的類


public class GuitarFubar {

    private double length;


    // next code snippets go here!

}

設(shè)置(初始)長(zhǎng)度的兩個(gè)選項(xiàng):構(gòu)造函數(shù)和方法(setter):


public GuitarFubar(double length) {

    this.length = length;

}


public void setLength(double length) {

    this.length = length;

}

以及一種獲取長(zhǎng)度的方法:


public double getLength() {

    return this.length;

}

最后是獲取字符串長(zhǎng)度的方法:


public String getLengthAsString() {

    return Double.toString(this.length);

}

但問(wèn)題沒(méi)有解決 - 需要設(shè)置長(zhǎng)度,默認(rèn)值為零。在調(diào)用(主)方法時(shí)


GuitarFubar guitar = new GuitarFubar(12.2);

System.out.println(guitar.getLengthAsString());

或者,如果沒(méi)有實(shí)現(xiàn)構(gòu)造函數(shù),則使用 setter:


GuitarFubar guitar = new GuitarFubar();

guitar.setLength(12.2);

System.out.println(guitar.getLengthAsString());

如果我們希望長(zhǎng)度不可變,我們將其聲明為final(不得更改),在構(gòu)造函數(shù)中設(shè)置它并且不實(shí)現(xiàn)設(shè)置器:


public class GuitarFubar {

    private final double length;


    public GuitarFubar(double length) {

        this.length = length;

    }


    public double getLength() {

        return this.length;

    }


    public String getLengthAsString() {

        return Double.toString(this.length);

    }

}

必須像這樣創(chuàng)建new GuitarFubar(12.2);


查看完整回答
反對(duì) 回復(fù) 2023-07-28
?
烙印99

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

改變你的方法


public String sillyString(){

    String str0 = "" + guitarLength;

    return str0;

}

到:


public String sillyString(double doubleToString){

    return  "" + doubleToString;

}

并從 main 中調(diào)用它,例如:


System.out.println(bString.sillyString(213.3d));


查看完整回答
反對(duì) 回復(fù) 2023-07-28
  • 4 回答
  • 0 關(guān)注
  • 196 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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