JAVA的对象数组赋值,纠结了。。。
classDVD1{Stringname;Stringstate;Stringdate;inttimes;}publicclassOOP{publicstaticvoid...
class DVD1{
String name;
String state;
String date;
int times;
}
public class OOP {
public static void main(String[] args) {
DVD1 manager[] = new DVD1[6];
manager[0].name= "罗马假日";
manager[0].date="1日";
manager[0].state="可借";
manager[0].times=10;
manager[1].name="java编程";
manager[1].date="null";
manager[1].state="可借";
manager[1].times=11;
manager[2].name="面向对象";
manager[2].date="null";
manager[2].state="可借";
manager[2].times=1;
// list.see();
}
}
现在给上面的赋值怎么报错了,,这个到底怎么赋值??? 展开
String name;
String state;
String date;
int times;
}
public class OOP {
public static void main(String[] args) {
DVD1 manager[] = new DVD1[6];
manager[0].name= "罗马假日";
manager[0].date="1日";
manager[0].state="可借";
manager[0].times=10;
manager[1].name="java编程";
manager[1].date="null";
manager[1].state="可借";
manager[1].times=11;
manager[2].name="面向对象";
manager[2].date="null";
manager[2].state="可借";
manager[2].times=1;
// list.see();
}
}
现在给上面的赋值怎么报错了,,这个到底怎么赋值??? 展开
2个回答
展开全部
楼上正解,我在这里给你另外一种赋值方式,供你参考。首先class DVD1中的代码生成get和set方法。然后通过实例化对象,去赋值,代码如下
public static void main(String[] args) {
DVD1[] manager = new DVD1[6];
//实例化一个对象
DVD1 dvd1 = new DVD1();
dvd1.setName("罗马假日");
dvd1.setDate("1日");
dvd1.setState("可借");
dvd1.setTimes(10);
manager[0] = dvd1; //给数据对象赋值
//实例化一个对象
DVD1 dvd2 = new DVD1();
dvd2.setName("java编程");
dvd2.setDate("null");
dvd2.setState("可借");
dvd2.setTimes(11);
manager[1] = dvd2; //给数据对象赋值
//实例化一个对象
DVD1 dvd3 = new DVD1();
dvd3.setName("面向对象");
dvd3.setDate("null");
dvd3.setState("可借");
dvd3.setTimes(1);
manager[2] = dvd3; //给数据对象赋值
}
class DVD1{
String name;
String state;
String date;
int times;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public int getTimes() {
return times;
}
public void setTimes(int times) {
this.times = times;
}
}
追问
不错不错,,,感谢感谢。。。
展开全部
应为你没有对数组的元素初始化,new一下就行了
class OOP {
public static void main(String[] args) {
DVD1[] manager = new DVD1[6];
for (int i = 0; i < manager.length; i++) {
manager[i] = new DVD1();
}
manager[0].name = "罗马假日";
manager[0].date = "1日";
manager[0].state = "可借";
manager[0].times = 10;
manager[1].name = "java编程";
manager[1].date = "null";
manager[1].state = "可借";
manager[1].times = 11;
manager[2].name = "面向对象";
manager[2].date = "null";
manager[2].state = "可借";
manager[2].times = 1;
}
}
追问
那我要他输入的显示出来,我用的是for循环,现在怎么值是
test1.DVD2@1aa9f99
test1.DVD2@d42d08
test1.DVD2@1d86fd3
这些玩意儿啊!!!搞不懂。。。。。拜托啦。。。
追答
这个是调用了Object里面的toStirng().默认的是
return getClass().getName() + "@" + Integer.toHexString(hashCode());
友好的显示,方法很多,我比价喜欢override toString();
class DVD1 {
String name;
String state;
String date;
int times;
public String toString() {
return "{" + name + "," + state + "," + date + "," + times + "}";
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询