首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请完成下列Java程序:首先建立一个类,包含2个私有成员变量,分别为int和double型,并提供公共方法setInt()和 setDouble()分别给这两个变量赋值和用toString()方法显示对象的私有成员变量的值,要求将这个类定义为Seriali
请完成下列Java程序:首先建立一个类,包含2个私有成员变量,分别为int和double型,并提供公共方法setInt()和 setDouble()分别给这两个变量赋值和用toString()方法显示对象的私有成员变量的值,要求将这个类定义为Seriali
admin
2009-01-15
149
问题
请完成下列Java程序:首先建立一个类,包含2个私有成员变量,分别为int和double型,并提供公共方法setInt()和 setDouble()分别给这两个变量赋值和用toString()方法显示对象的私有成员变量的值,要求将这个类定义为Serializable,再创建这个类的持久对象,将对象写入名为ex3_2.data的文件中并显示对象的2个成员变量,最后从这个文件中读取这个对象并显示对象的2个成员变量。
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下:
ex3_2: i=123 d=123.456
ex3_2: i=123 d=123.456
import java.io.*;
public class ex3_2 implements Serializable {
private int n3_2;
private double d3_2;
ex3_2() {
n3_2 = 25;
d3_2 = 12.23;
}
public void setDouble(double x) {
d3_2 = x;
}
public void setInt(int x) {
n3_2 = x;
}
public String toString() {
return("ex3_2: i=" + n3_2 + "d=" + d3_2);
}
public static void main(String[] arg) {
ex3_2 e1 = new ex3_2 );
ex3_2 e2;
e1.setInt(123);
e1.setDouble(123.456);
System.out.println(e1);
try {
FileOutputStream fos3_2 = new FileOutputStream("ex3_2.data");
ObjectOutputStream oos3_2 = new ObjectOutputStream(fos3_2);
________________;
} catch(IOException ioe) {
System.out.println(ioe);
}
try {
FileInputStream fis3_2 = new FileInputStream("ex3_2.data");
ObjectInputStream ois3_2 = new ObjectInputStream(fis3_2);
________________;
System.out.println(e2);
}catch(10Exception ioe) {
System.out.println(ioe);
}catch(ClassNotFoundException cnfe) {
System.out.println(cnfe);
}
}
}
选项
答案
oos3_2_writeObject(e1) e2 = (ex3_2)ois3_2.readObject()
解析
本题主要考查对象串行化的方法和可串行化类的构造方法。解题关键是熟练掌握串行化的概念和目的,熟悉串行化的方法,如FileOutputStream类的用法等,在Java中这些方法已经成为一种模式,需要熟记。本题中,通过构造可串行化类ex3_2实现了Serializable接口并且含有2个成员变量n3_2和d3_2,这2个成员变量需要包括在数据流中以便保存某个ex3_2对象的整个状态,程序首先创建了一个ex3_2对象,接着将它存到一个磁盘文件中,然后再将它作为一个新对象读回。第1个空,通过ObjectOutputStream的对象oos3_2调用writeObject()方法将ex3_2的对象e1写入磁盘文件ex3_2.data中;第2个空,通过ObjectInputStream的对象ois3_2调用readObject()方法从磁盘文件ex3_2.data中读取对象,由于读出来的是Object类型的对象,所以需要做类型转换。
转载请注明原文地址:https://kaotiyun.com/show/HIID777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
从上表可以看出,下列年份中,医院诊疗人次最多是____。卫生院接受诊疗人次在当年总诊疗人次中比率最高的年份是____。
请你根据以下五个词语编个故事,要求五个词语都用上。公务员、寒冬、扑克、斗地主、人肉搜索。
下列关于我国武装力量的说法不正确的是()。
古人对于我国姓氏的来历有如下阐述“氏于国,则齐鲁秦吴;氏于谥,则文武成宜;氏于事,则乙匠淘……”由此可以推断,王、侯、公孙等姓氏应源自()。
行政法的主要功能除了管理功能之外,还有()。
下列属于市场机制构成要素的是()。
存储器的容量大小是衡量计算机性能的一个重要指标。我们通常把()位二进制作为一个单位来计算存储器的容量,取名为字节。
能够根据样本结果推断总体数量特征的调查方式是()。
下列程序中,要求计算1+2+3+…+100的值,并显示计算结果。请将程序补充完整。程序运行结果如下:5050publicclassex6_1{publicstaticvoidmain(Stringr
假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有的元素个数为()。
随机试题
手工钨极氩弧焊机焊炬的控制电路电压在交流时为()。
成人烧伤总面积达到多少为重度烧伤?
中药调配前对处方再次进行审查的内容不包括
28岁妇女,孕33周,初产妇,产前检查:胎背位于母体腹部右侧,胎心位于脐右上,宫底部触及浮球感,耻骨上方先露部较软,不规则,诊断为何种胎位( )
项目生命周期中,开始阶段需要完成的工作是()。
案例某化工厂位于某市开发区,占地3.3×104m2。厂区东面1km是国道,东面1.5km是条河流;南面0.5km是大片农田;西面0.5km和1km处分别有2家化工厂;北面紧邻一条公路,1km处是一个城镇,3km处是一条高速公路。该
从横向分类看,薪酬制度包括()。
小兰、小明、小强是摄影协会的成员,三人趁着寒假约好一起去韩国旅游,旅游途中为了留下更好的相片,每个人都拿着另一个人的单反相机,背着剩下一个人的背包(即不负责自己的东西)。假如背着小兰背包的人拿的是小明的单反相机,那么可以推出()。
Imustleavenow,______,ifyouwantthatbookI’llbringittoyoutomorrow.
有以下程序main(){inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)printf(“%d*%d=%d”,i,j,i*j);printf("\n")
最新回复
(
0
)