当前位置: 首页 > 计算机 > 问题详情
问题

请完成以下程序 首先由一个类Example2_3实现Serializable接口 并有三个成员变量 分别为int型 double型和String型 可以用toString的方法显示这三个成员变量。在main方法中

请完成以下程序,首先由一个类Example2_3实现Serializable接口,并有三个成员变量,分别为int型、double型和String型,可以用toString的方法显示这三个成员变量。在main方法中创建这个Example2_3的持久对象,根据用户在命令行输入的三个参数来设定其中成员变量的值。然后,将这个对象写入名为TheSerial.data的文件,并显示成员变量。最后从文件TheSerial.data中读出三个成员变量并显示出来。

注意:请勿改动main()主方法和其他已有语句内容,仅在横线处填入适当语句。

import java.io.*;

class TheSerial implements Serializable

{

private int intValue;

private double doubleValue;

private String string;

TheSerial()

{

intValue = 123;

doubleValue = 12.34;

string = "Serialize Test";

}

public void setDouble(double d)

{

doubleValue = d;

}

public void setInt(int i)

{

intValue = i;

}

public void setString(String s)

{

string = s;

}

public String toString()

{

return("int="+intValue+"double="+doubleValue+" string="+string);

}

}

public class Example2_3

{

public static void main(String argv[])

{

TheSerial e1 = new TheSerial();

TheSerial e2;

try

{

e1.setInt(Integer.parseInt(argv[0]));

e1.setDouble(Double.parseDouble(argv[1]));

e1.setString[argv[2]);

}

catch(Exception e)

{

e1.setString(e.getMessage{));

}

System.out.println(e1);

try

{

FileOutputStream S = new FileOutputStream("TheSerial.data");

ObjectOutputStream IS = new ObjectOutputStream(oS);

______;

}

catch(IOException ioException)

{

System.out.println(ioException.getMessage());

}

try

{

FileInputStream iS = new FileInputStream("TheSerial. data");

ObjectInputStream IS = new ObjectInputStream(iS);

______

System.out.println(e2);

}

catch(IOException ioException)

{

System.out.println(ioException.getMessage());

}

catch(ClassNotFoundException cnfException)

{

System.out.println(cnfException.getMessage());

}

}

}

发布时间:2024-05-07
参考答案

正确答案:①oOS.writeObject(e1)②e2=(TheSerial)oIS.readObject()
①oOS.writeObject(e1)②e2=(TheSerial)oIS.readObject() 解析:本题主要考查串行化相关的方法和实现。解题中首先要掌握串行化的基本过程和反串行化的过程。串行化过程首先要创建一个输出流FileOutputStream,通过该类的实例对文件进行访问,然后创建一个ObJectOutput Stream对象,通过writeObject()方法来实现对象的序列化。第一个空就是使用writeObject()实现序列化。
反序列化过程中用FileInputStream对象建立读取文件的连接,并使用该对象创建一个 ObiectInputStream的实例,这个ObjectInput Stream实例的readObject()方法就可以实现对象的反序列化。第二个空就是使用readObject()实现反序列化。

相关问题
  • 以下关于程序设计语言的叙述中 错误的是()。A. 脚本语言中不

    以下关于程序设计语言的叙述中,错误的是()。A 脚本语言中不使用变量和函数B 标记语言常用于描述格式化和链接C 脚本语言采用解释方式实现D 编译

    答案解析
  • ()软件成本估算模型是一种静态单变量模型 用于对整个软件系统

    ()软件成本估算模型是一种静态单变量模型,用于对整个软件系统进行估算。A PutnamB 基本COCOMOC 中级COCOMOD 详细COCOMO请帮忙给出正确答案和分析,谢谢!

    答案解析
  • 在C/C++程序中 整型变量a的值为0且应用在表达式“c=b/a”中

    在C C++程序中,整型变量a的值为0且应用在表达式c=b a中,则最可能发生的情形是()。A 编译时报告有语法错误 B 编译时报告有逻辑错误 C 运行时报告有

    答案解析
  • 设 N 和 B 都是(无符号)整型变量 下面 C 代码段的功能是

    设 N 和 B 都是(无符号)整型变量,下面 C 代码段的功能是计算变量 B 的二进制 表示中 ()。 N=O; while(B){ B==B&(B-l); "&"是按位"

    答案解析
  • 运行下面的C程序代码段 会出现()错误。 int k=0; for(;k

    运行下面的C程序代码段,会出现()错误。 int k=0; for(;k

    答案解析
  • 在制定项目质量计划过程中 可以采用()方法以识别哪些因素会对

    在制定项目质量计划过程中,可以采用()方法以识别哪些因素会对特定变量产生影响。A 散点图B 检查表C 质量功能展开D 实验设计请帮忙给出正确答案和分析

    答案解析
  • 嵌入式SQL中 若查询结果为多条记录时 将查询结果交予主语言处

    嵌入式SQL中,若查询结果为多条记录时,将查询结果交予主语言处理时, 应使用的机制是(),引入()来解决主语言无空值的问题。A 主变量 B 游标 C SQ

    答案解析
  • 以下定性的分类变量中 ()属于有序变量 (能排序)。 A.性别

    以下定性的分类变量中,()属于有序变量 (能排序)。A 性别 B 血型 C 疾病类别 D 药品疗效请帮忙给出正确答案和分析,谢谢!

    答案解析
  • 若变量a i已正确定义 且i已正确赋值 合法的语句是()。A.a==

    若变量a、i已正确定义,且i已正确赋值,合法的语句是()。A a==l;B ++i;C a=a++=5 ;D a=int(i);请帮忙给出正确答案和分析,谢谢!

    答案解析
  • 编码时应尽可能使用局部变量。()

    编码时应尽可能使用局部变量。()

    答案解析

最新问题

Copyright © 2016-2023 114题库网(114158.com)All Rights Reserved.  免责声明 豫ICP备19007809号-5