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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問為什么println(array)有奇怪的輸出?

請問為什么println(array)有奇怪的輸出?

慕田峪4524236 2020-01-06 08:00:31
我有一個字符串數(shù)組,其中定義了四個元素。當我輸入時,為什么System.out.println(name of Array)不輸出元素呢?而是給了我一個奇怪的輸出。這是我的代碼...public class GeniusTrial {    public static void main(String[]args) {        String [] genius = {"Einstein, ", "Newton, ", "Copernicus, ", "Kepler."};        System.out.print(genius);    }}   這是我得到的輸出:[Ljava.lang.String;@3e25a5
查看完整描述

3 回答

?
慕桂英3389331

TA貢獻2036條經(jīng)驗 獲得超8個贊

toString()數(shù)組的方法返回String描述數(shù)組標識而不是其內(nèi)容的描述。這是因為數(shù)組不會覆蓋Object.toString(),其文檔解釋了您所看到的內(nèi)容:


toString用于類的方法Object返回一個字符串,該字符串由對象是其實例的類的名稱,符號字符“ @”以及對象的哈希碼的無符號十六進制表示組成。換句話說,此方法返回的字符串等于:


getClass().getName() + '@' + Integer.toHexString(hashCode())

要獲取String數(shù)組內(nèi)容的表示形式,可以使用Arrays.toString(Object[])。


在String此方法返回由每個元素的的toString()表示,在順序出現(xiàn)在陣列中并包含在方括號("[]")。相鄰元素之間用逗號和空格(", ")分隔。


例如,在您的數(shù)組上調(diào)用此方法將導致以下結(jié)果String:


"[Einstein, , Newton, , Copernicus, , Kepler.]"

請注意,由于數(shù)組的元素中String已經(jīng)包含標點符號和空格,因此會產(chǎn)生雙逗號和奇數(shù)間距。刪除那些:


String [] genius = {"Einstein", "Newton", "Copernicus", "Kepler"};

然后,該方法將返回以下內(nèi)容String:


"[Einstein, Newton, Copernicus, Kepler]"

請務(wù)必注意,使用此方法無法控制結(jié)果的格式String??焖贆z查數(shù)組的內(nèi)容很不錯,但僅限于此用途。例如,如果您不希望使用這些方括號,或者不想逐行列出每個元素,該怎么辦?


此時,您應(yīng)該開始看到實現(xiàn)自己的方法以以特定于您的任務(wù)的方式輸出數(shù)組內(nèi)容的價值。正如其他人所建議的那樣,請通過使用for循環(huán)并構(gòu)建String要輸出的新結(jié)果來進行實踐。


您可以for在此Java教程文章中找到有關(guān)循環(huán)的更多信息。通常,Java入門對于初學者來說是一本好書,應(yīng)該很好地配合您的課程。



查看完整回答
反對 回復(fù) 2020-01-07
?
慕少森

TA貢獻2019條經(jīng)驗 獲得超9個贊

使用Arrays類為您擴展數(shù)組:


System.out.println(Arrays.toString(genius));

會給你


[愛因斯坦,牛頓,哥白尼,開普勒。]


雙重逗號是因為您將它們包括在數(shù)組中。刪除它們,您會得到一個漂亮的逗號分隔列表。



查看完整回答
反對 回復(fù) 2020-01-07
  • 3 回答
  • 0 關(guān)注
  • 496 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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