亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

這段代碼有什么問題呢?

public?class?Book?{
	String?title;
	String?author;
	class?BooksTestDrive?{
	}
	public?static?void?main(String?[]?args)?{
		Book?[]?myBooks?=?new?Book[3];
		int?x?=?0;
		myBooks[0].title?=?"The?Grapes?of?Java";
		myBooks[1].title?=?"The?Java?Gatsby";
		myBooks[2].title?=?"The?Java?Cookbook";
		myBooks[0].author?=?"bob";
		myBooks[1].author?=?"sue";
		myBooks[2].author?=?"ian";
		while?(x?<?3)?{
		System.out.print(myBooks[x].title);
		System.out.print(?"by"?);
		System.out.println(myBooks[x].author);
		x?=?x?+?1;
		}
	}
	}

為什么沒有提示錯誤,運行的時候卻有問題呢?

正在回答

1 回答

對數組的初始化工作沒有結束,在Java中對非基本數據初始化時,必須使用new。在使用new創建數組后,此時數組還是一個引用數組。只有再創建新的對象,并把對象賦值給數組引用,到此初始化結束。

可參考JAVA對象數組的初始化方法


public class Book {

? ? String title;

? ? String author;

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

? ? ? ?Book[] myBooks = new Book[3];

? ? ??

? ? ? ?myBooks[0] = new Book();

? ? ? ?myBooks[1] = new Book();

? ? ? ?myBooks[2] =new Book();

? ? ? ?

? ? ? ? myBooks[0].title = "The Grapes of Java";

? ? ? ? myBooks[1].title = "The Java Gatsby";

? ? ? ? myBooks[2].title = "The Java Cookbook";

? ? ? ? myBooks[0].author = "bob";

? ? ? ? myBooks[1].author = "sue";

? ? ? ? myBooks[2].author = "ian";

? ? ? ? for(int x = 0; x < 3; x++ ){

? ? ? ? System.out.print(myBooks[x].title);

? ? ? ? System.out.print( " by " );

? ? ? ? System.out.println(myBooks[x].author);

? ? ? ? }

? ? }

? ? }


0 回復 有任何疑惑可以回復我~
#1

差不多先生1234 提問者

也就是說我沒有創建對象是吧?
2016-05-02 回復 有任何疑惑可以回復我~
#2

亂也

我試著運行了,運行不了,代碼錯誤
2016-05-19 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這段代碼有什么問題呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號