JAVA实验五

合集下载

java实验5图形用户界面设计试验

java实验5图形用户界面设计试验

java实验5图形⽤户界⾯设计试验常⽤布局1)、流布局: FlowLayout 从左到右,⾃上⽽下⽅式在容器中排列,控件的⼤⼩不会随容器⼤⼩变化.容器.setLayout(new FlowLayout(FlowLayout.LEFT));2)、⽹格布局: GridLayout 按照指定⾏数与列数,将容器分成⼤⼩相等的单元格每个单元格放置⼀个控件. 不能将控件放在指定单元格 容器.setLayout(new GridLayout(3,4,10,15));3)、边界布局: BorderLayout 将容器分成东、西、南、北、中五个部分 容器.setLayout(new BorderLayout()); 窗⼝的内容⾯板默认布局就是边界布局。

容器.add(控件,BorderLayout.NORTH);4)、混合布局: 使⽤JPanel,将多个布局组合在⼀起使⽤5)、绝对布局 null: 以坐标定位 容器.setLayout(null); 每个控件在放置在容器之前,必须设置其边界 setBounds(x,y,width,height); btn.setBounds(10,100,30,60);常⽤事件1)、事件源 EventSource:能够触发事件控件如:JButton,JTextField,JFrame,JComboBox,....2)、事件 Event:ActionEvent,KeyEvent,WindowEvent,TextEvent,...3)、事件侦听者Listener(接⼝) ActionListener,WindowListener,...class A implements ActionListener{public void actionPerformed(ActionEvent e){....}}A lis=new A();4)、事件处理函数public void actionPerformed(ActionEvent e){....}事件流程:事件源触发事件-->事件源侦听者接收事件-->⾃动调⽤相应事件处理函数.实践编程1.在应⽤程序窗体中安排1个⽂本框,⼀个标签。

JAVA实验报告5异常处理实验

JAVA实验报告5异常处理实验

JAVA实验报告5异常处理实验异常处理是Java程序设计中非常重要的一部分,能够有效地处理程序在运行过程中可能出现的异常情况。

在本次实验中,我们主要学习了Java中的异常处理机制,并对其进行了实践。

一、实验目的:1、学习Java中的异常处理机制;2、掌握如何使用try-catch来处理异常;3、了解Java中常见的异常类和异常处理语句的使用方法。

二、实验内容:1、编写一个Java程序,在程序中故意引发一个异常,然后使用try-catch语句来处理该异常,并在catch块中打印异常的详细信息;2、使用多个catch块来处理不同类型的异常,并在每个catch块中打印对应异常的详细信息;3、使用finally块来执行一些必须要执行的代码,比如关闭文件等。

三、实验步骤:1、首先,我们编写一个简单的Java程序,使用try-catch语句来处理异常。

假设我们在程序中故意除以0,然后在catch块中打印出异常信息。

代码如下:```public class ExceptionHandlingDemopublic static void main(String[] args)tryint result = 10 / 0;} catch (ArithmeticException e)System.out.println("发生异常:" + e);}}```2、接下来,我们使用多个catch块来处理不同类型的异常。

假设我们在程序中使用一个空数组,然后尝试访问数组的第一个元素。

如果数组为空,则会抛出ArrayIndexOutOfBoundsException异常。

代码如下:```public class ExceptionHandlingDemopublic static void main(String[] args)int[] array = new int[0];tryint firstElement = array[0];} catch (ArrayIndexOutOfBoundsException e)System.out.println("发生异常:" + e);} catch (Exception e)System.out.println("未知异常:" + e);}}```3、最后,我们使用finally块来执行一些必须要执行的代码。

Java实验5至10

Java实验5至10

实验五成员变量与方法实验时间:______年_____月_____日地点:______________ 指导教师:_________ 1. 实验目的(1)初步理解Java语言中类的成员基本概念。

(2)掌握成员变量如何刻画属性。

(3)掌握成员方法如何刻画行为。

(4)掌握面向对象封装的含义。

2. 实验要求(1)写出成员变量的创建过程。

(2)写出成员方法的创建过程。

(3)按要求撰写实验报告。

3. 实验内容(1)创建地址簿【问题描述】编写一个Java应用程序,定义一个地址簿类,设计一个能存储姓名、E-mail地址,并能显示一个地址的Address类。

【代码实现】【实验结果】(2)应用静态变量(或类变量)。

【问题描述】编写一个Java应用程序,定义一个类包含静态变量和非静态变量,并测试该程序,说明静态变量的特征。

【代码实现】【实验结果】(3)创建Course类【问题描述】编写一个Java应用程序,创建一个Course类,包括课程的名字和学生该门课程的成绩,定义一个学生类,包括学生的姓名和一个具体Course类的对象,定义测试类打印一名学生三门课程的平均成绩。

【代码实现】【实验结果】4.实验心得成绩:____________实验六继承与接口实验时间:______年_____月_____日地点:______________ 指导教师:_________ 1. 实验目的(1) 理解Java继承与接口的概念,并学会应用其解决问题。

(2) 理解接口和包的概念、接口的定义、接口的类型、接口的继承、组合。

(3) 掌握包的概念、类路径,能够创建包和使用包。

2. 实验要求(1)写出实现继承的过程。

(2)总结利用接口实现继承后程序设计中类的继承结构。

(3)按要求撰写实验报告。

3. 实验内容(1)继承应用【问题描述】设计三个类People、ChinaPeople和AmericanPeople,请填空完成程序,并画出类的继承结构图。

Java实验5

Java实验5

实验5图形界面程序设计一、实验目的:1、学习使用框架、面板、和简单用户界面UI组件。

2、学习使用布局管理器。

3、学习使用JavaBean组件创建图形用户界面应用程序。

4、理解和学习Windows事件驱动程序。

5、熟悉Java事件委托模式:事件的注册、监听和处理。

6、学习掌握掌握对象数组深复制的方法。

二、实验任务:1、使用Java SDK创建一个Windows图形界面应用程序。

2、实现一个能做算术运算的用户界面。

界面包括标签和文本域Number1、Number2、Result。

Result文本域用于显示Number1和Number2的算术运算的结果。

程序使用四个按钮,它们分别标有Add、Subtract、Multiply 和Divide。

程序也创建了完成相同功能运算的菜单。

三、实验步骤:1、首先设置环境变量,保证在任何目录下都可以使用Java SDK编程工具。

如果Java SDK的安装目录为C:\j2sdk1.4.2_09,则在命令提示符状态(从附件中进入)下键入如下命令行设置环境变量:path C:\j2sdk1.4.2_09\bin2、使用Windows写字板编辑应用程序,源代码如下:3、把上面编辑的源程序保存成Java源程序文件(扩展名为java),程序文件名分别是MenuDemo .java。

4、进入命令提示符状态,在源程序文件存放目录下键入如下命令编译上述程序:javac MenuDemo .java5、如果编译正确,则键入如下命令行,使用Java解释器运行源程序:java MenuDemo程序运行结果如下:四、本次实验难点:由于同学们过去学过的程序设计方法都是简单的基于命令流的控制台应用程序,所以建立Windows事件驱动模型的应用程序的概念是本次实验的难点,希望同学们仔细体会事件驱动模型的概念。

掌握Java设计用户图形界面应用程序的方法。

JAVA实验报告5异常处理实验

JAVA实验报告5异常处理实验

JAVA实验报告5异常处理实验一、实验目的1. 了解Java异常处理机制;2. 掌握Java中异常处理的方式;3.熟悉自定义异常的方法。

二、实验内容本实验通过编写代码来体验Java中的异常处理机制,主要包括以下几个方面:1.了解异常的基本知识;2. 学习try-catch语句的使用方法;3. 掌握throws关键字的用法;4.编写自定义异常类。

三、实验步骤1. 编写一个“除法计算器”类DivideCalculator,该类有一个名为divide的方法,用于计算两个整数的商,并返回结果。

如果除数为0,则会抛出一个自定义的异常类DivideByZeroException;2. 在DivideCalculator类中,先使用try-catch语句来捕获DivideByZeroException异常,如果除数为0,则在控制台上打印出“不能除以0”的错误信息;3. 在该方法中再使用throws关键字将异常抛出,以便调用方能捕获该异常;4. 编写一个测试类CalculatorTest来测试DivideCalculator类,将两个整数输入给divide方法,观察控制台输出的结果;5. 在CalculatorTest类中使用try-catch语句来捕获DivideByZeroException异常,并打印出错误信息;6. 在CalculatorTest的main方法中调用divide方法,传入5和0作为参数;7.运行程序,观察控制台输出的结果。

四、实验结果根据实验步骤中的代码编写,可得到以下实验结果:1.当传入的除数为非零整数时,程序正常执行并返回正确结果;2. 当传入的除数为0时,程序会抛出自定义的异常DivideByZeroException,并在控制台上打印出错误信息"不能除以0";3. 在CalculatorTest的try-catch语句中捕获到DivideByZeroException异常,并打印出错误信息"不能除以0"。

攀枝花学院Java实验五 常用类

攀枝花学院Java实验五 常用类

实验报告附页String s7 = new String("123.678");int n1=Integer.parseInt(s6);//将s6转化成int型数据。

double n2=Double.parseDouble(s7); //将s7转化成double型数据。

double m=n1+n2;System.out.println(m);String s8=String.valueOf(m); //String调用valuOf(int n)方法将m转化为字符串对象position=s8.indexOf(".");String temp=s8.substring(position+1);System.out.println("数字"+m+"有"+temp.length()+"位小数") ;@SuppressWarnings("unused")String s9=new String("ABCDEF");char a[]=s8.toCharArray(); //将s8存放到数组a中。

for(int i=a.length-1;i>=0;i--){System.out.print(" "+a[i]);}}}运行结果:将上面程序按如下要求修改,并运行:(1)程序中的s6改写成String s6=new String(“1a12b”);运行时提示怎样的错误?Exception in thread "main" ng.NumberFormatException: For input string: "1a12b"at ng.NumberFormatException.forInputString(Unknown Source)at ng.Integer.parseInt(Unknown Source)at ng.Integer.parseInt(Unknown Source)at xiti2.xiugai.main(xiugai.java:39)(2)请用数组a的前3个单元创建一个字符串并输出该串。

《Java程序设计》上机实验报告 实验五 流、文件及基于文本的应用

《Java程序设计》上机实验报告 实验五   流、文件及基于文本的应用

信息科学与工程学院《Java程序设计》上机实验报告专业班级姓名学号主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)2.编写一个程序,能将一个源程序中的空行及注释去掉,并将处理后的内容写到目标文件中。

(源文件名称和目标文件名称均要求以命令行参数形式输入)import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;public class CopyFile {static String delComm(String s){if(s==null)return s;int pos=s.indexOf("//"); //去掉以//开始的注释if(pos<0)return s;return s.substring(0,pos);}public static void main(String args[]){String infname="CopyFile.java";String outfname="CopyFile.txt";if(args.length>=1)infname=args[0];if(args.length>=2)outfname=args[1];try{File fin=new File(infname);File fout=new File(outfname);BufferedReader in = new BufferedReader(new FileReader(fin));PrintWriter out = new PrintWriter(new FileWriter(fout));int cnt=0;String s = in.readLine(); //写字符串while(s != null){主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)cnt ++;s=delComm(s); //去掉以//开始的注释out.println(cnt+":\t"+s);//写出s=in.readLine(); //读入}in.close(); //关闭缓冲读入流及文件读入流的连接out.close();}catch (FileNotFoundException e1){System.out.println("File not found");}catch(IOException e2){e2.printStackTrace();}}}主要问题的出错现象:1)运行程序后,无对应的输出结果出现2)源程序编写过程中,出现方法和类的调用无法完成.出错原因:1)函数调用时候,相关函数输入变量错误2)方法名的书写不符合规范,使得方法变为变量.解决方法及效果:1) 编写和调用类的方法时,注意参数的类型和数量的对应.2)规范命名.常量用大写字母,变量用小写字母开始,类以大写字母开始.实验小结:1) 为每个类分配正确的职责.尽量保持类功能单一. 不要在一个类中做太多事.2) BufferedReader的方法:readLine():String ,当他的返回值是null时,就表示读取完毕了。

Java实验5

Java实验5

Java实验5第一篇:Java实验5实验五一、实验内容:从键盘上输入一行字符串。

①将字符按Unicode字典顺序排序后输出。

②统计每个字符出现的次数和位置。

③统计含有的单词个数。

④正向和反向输出单词。

二、算法思路:要完成任务①:使用StringT okenizer类的countT okens( )方法和nextToken(),将单词存储到String a[ ]数组中,再定义一个空的String b[ ] , 用来存放比较大小后的单词。

要完成任务③:使用StringT okenizer类中的countTokens( )方法。

要完成任务②:定义charArray[i ]存放字符intArray[ i]出现字符的次数 addr[i][ ]用来存放出现字符的位置要完成任务④:可以通过之前定义存储的String a[ ]和相关简单算法,输出正向和反向的单词。

三、实验结果:四、程序代码:import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*;public class TokenT est extends JFrame{private JLabel promptLabel;private JTextField inputField;private JTextArea outputArea;public TokenTest(){super("字符串");Container container=getContentPane();container.setLayout(new FlowLayout());promptLabel=new JLabel("输入一个句子,然后按回车键");container.add(promptLabel);inputField=new JTextField(20);inputField.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){StringTokenizer tokens=new StringTokenizer(event.getActionCommand());int num=100;int n=0;num=tokens.countTokens();String a[]=new String[num];String b[]=new String[num];while(tokens.hasMoreTokens()){a[n++]=tokens.nextToken();}n=0;int m=0;while(m{for(int i=0;i<=n;i++){if(i==n)b[i]=a[m];else if(a[m].compareToIgnoreCase(b[i])<0){for(int j=n;j>i;j--)b[j]=b[j-1];b[i]=a[m];break;}}m++;n++;}outputArea.setText("按Unicode字典顺序排序后输出:\n"); for(int i=0;ioutputArea.append(b[i]+" ");outputArea.append("\n\n单词个数:"+num);String buffer=inputField.getText();char charArray[]=new char[26];int intArray[]=new int[26];int addr[][]=new int[26][26];n=0;for(int i=0;i{for(int j=0;j<=n;j++){if(j==n){charArray[j]=buffer.charAt(i);intArray[j]++;addr[j][intArray[j]-1]=i;}else if(buffer.charAt(i)==' '){n--;break;}else if(buffer.charAt(i)==charArray[j]){intArray[j]++;addr[j][intArray[j]-1]=i;n--;break;}}n++;}置:");});}outputArea.append("\n\n统计每个字符出现的次数和位置\n"); for(int i=0;ioutputArea.append(charArray[i]+" 次数:"+intArray[i]+" 位for(int j=0;j{outputArea.append(addr[i][j]+" ");}outputArea.append("\n"); }String s="\n";outputArea.append("\n单词正向输出:\n");for(int i=0;ioutputArea.append(a[i]+" ");outputArea.append("\n\n单词反向输出:");for(int i=0;i{for(int count=a[i].length()-1;count>=0;count--){s+=a[i].charAt(count);}s+=" ";}outputArea.append(s); }container.add(inputField); outputArea=new JTextArea(20,40); outputArea.setEditable(false); container.add(new JScrollPane(outputArea)); setSize(500,500); setVisible(true);public static void main(String[] args) {TokenTest application=new TokenTest();application.setDefaultCloseOperation(JFrame.EXIT_ON_CLO SE);} }五、心得体会:这个程序,应该是我目前所花时间最长编写出来的程序,从草稿纸上酝酿出算法,到最后在计算机上成功运行,花了3个晚上的时间,其中有一天晚上,本人忘我编程到凌晨12:30,当中遇到了很多出乎意料的问题,但是在遇到问题时,我积极思考,反复调试,编程开始阶段,程序一直异常跳出,我也花了挺多时间找错误,也花了不少时间检验算法的严密性。

java实验报告5

java实验报告5

《Java语言程序设计》上机实验报告(5)实验名称:实验五Java面向对象编程(2) 班级:软件工程 101姓名:周顺权学号: 110029026上机时间:指导教师:王华一、实验内容或题目:1.方法中参数传递---传值调用。

编写一个传值调用的程序。

2.方法中参数传递---调用对象方法。

编写一个调用对象方法的程序。

3.类的继承。

(1)首先预测下列程序的运行结果,然后编译、执行以验证你的预测:(2) 修改Dog类的构造函数,使之可以初始化Dog类中的weight值。

(3) 在Dog类中添加方法getWeight以获得其weight值(4) 修改类JLab0501,使用新的构造函数创建一个名为“snoopy”,重为10的Dog类的对象,并利用其方法输出包括重量在内的各项值。

(5) 要使Dog类对象的speak()方法返回值为“Woof Woof”,应如何做?修改(1)中程序,并验证你的做法。

4.方法的重载。

(1)首先预测下列程序的运行结果,然后编译、执行以验证你的预测:(2)在类JLab0502中添加下列方法:二、实验目的与要求:1.程序首先给整型变量x 和y 赋一个初值10,然后使用传值调用方式调用方法ff1对x 和y 做乘方及输出x 和y 的乘方值。

2.通过调用对象的方法在方法调用后修改了成员变量的值。

4.(2)编译该程序,观察报错信息,并思考原因。

三、实验步骤与源程序:(1)实验步骤a) 编辑源文件b) 编译c) 运行(2)源代码1:package test5;class XY{int x,y;void setX(int a){x=a;}void setY(int b){y=b;}int getX(){return x;}int getY(){return y;}void ff1(){x=getX()*getX();y=getY()*getY();System.out.println("x^2="+x);System.out.println("y^2="+y);}}public class Involution {public static void main(String args[]){XY xy=new XY();xy.setX(10);xy.setY(10);xy.ff1();}}2:package test5;public class KY3_6 {public static void main(String args[]) {Power p=new Power();p.ff2(10,10);System.out.println("方法调用后x="+p.x+", y="+p.y);}}class Power{int x=10, y=10;void ff2(int passX, int passY) {System.out.println("初始时x="+x+", y="+y);x=passX*passX;y=passY*passY;System.out.println("方法调用中x="+x+", y="+y);}}3(1):class Pet{protected String name;public Pet(String n){name = n;}public String getName(){return name;}public String move(){return "run";}public String speak(){return "";}public String toString(){return "My pet " + name;}}class Dog extends Pet{protected int weight;public Dog(String s){super(s);}}class JLab0501{public static void main(String[] args){Pet myPet = new Pet("George");Dog myDog = new Dog("Spot");System.out.println(myPet.toString() + "\n" + "Speak: " +myPet.speak() +"\n" + myPet.move() + " " +myPet.getName() + "\n");System.out.println(myDog.toString() + "\n" + "Speak: " +myDog.speak() +"\n" + myDog.move() + " " +myDog.getName() + "\n"); }}3(2),3(3),3(4),3(5)(已集合在一起):class Pet{protected String name;public Pet(String n){name = n;}public String getName(){return name;}public String move(){return "run";}public String speak(){return "";}public String toString(){return "My pet " + name;}}class Dog extends Pet{protected int weight=0;void setWeight(int a){weight=a;}int getWeight(){return weight;}public Dog(String s){super(s);// super是指向父类的指针可以通过该指针调用父类//的函数}public String speak(){return "woof woof";}}class JLab0501{public static void main(String[] args){Pet myPet = new Pet("George");Dog myDog = new Dog("Spot");Dog dog=new Dog(“snoopy”);dog.setWeight(10);System.out.println(myPet.toString() + "\n" + "Speak: " +myPet.speak() +"\n" + myPet.move() + " " +myPet.getName() + "\n");System.out.println(myDog.toString() + "\n" + "Speak: " +myDog.speak() +"\n" + myDog.move() + " " +myDog.getName() + "\n");System.out.println(dog.toString()+"\n"+"Speak:"+dog.speak()+"\n"+dog.m ove()+" "+dog.getName()+"\n"+"Weight:"+dog.getWeight()+"\n");}}4(1):public class JLab0502 {public static void test() {System.out.println("test() invoked");}public static int test(int i) {System.out.println("test(" + i + ") invoked");return i;}public static String test(String s) {System.out.println("test(" + s + ") invoked");return s;}public static void test(String s, int i) {System.out.println("test(" + s + ", " + i + ") invoked");}public static void test(int i, String s) {System.out.println("test(" + i + ", " + s + ") invoked");}public static void main(String[] args) {test();test(100);test("test");test("test",100);test(100,"test");}}4(2):添加方法:public static int test(int j) {System.out.println("test(" + j + ") invoked");return j;}四、测试数据与实验结果:1:2:3(1):猜测:My pet GeorgeSpeak:run GeorgeMy pet SpotSpeak:run Spot结果截图:3(2),3(3),3(4),3(5)(已集合在一起):4(1):猜想:test() invokedtest(100) invokedtest(test) invokedtest(test,100) invokedtest(100,test) invoked截图结果:4(2):重载必须保证参数不同。

java程序设计课程--实验报告-实验05

java程序设计课程--实验报告-实验05
System.out.println("middle3:" + middle3);
System.out.println("brithplace: "+brithplace2);
//Get the lengths of the sides as input
System.out.print("Please enter the lengths of the two sides of" + "a right triangle(separate by a blank space):");
side1 = scan.nextDouble();
side2 = scan.nextDouble();
//Compute the length of the hypotenuse
hypotenuse =Math.sqrt(side1*side1+side2*side2);
//Print the result
change1 = college.toUpperCase();//part(c)
change2 = change1.replace('o','*');//part(d)
change3 = college.concat(town);//part(e)
System.out.println("The final string is" + change3);
代码如下(红色字体表示填空部分):
public class StringPlay {
public static void main (String[] args){

实验5 JAVA控制结构

实验5  JAVA控制结构

实训报告实验五JA V A基本程序结构(2)【实验目的】1.掌握JAVA语言的各类运算符和表达式的使用规则。

2.熟悉算术运算符、关系运算符和逻辑运算符混合计算方法。

3.理解并能应用JAVA三类基本程序控制结构。

4.掌握各种运算符的特点及其优先级控制。

【预习内容】1.了解JA V A语言表示逻辑量的方法(以True代表“假”,以“False”代表“真”);2.单分支选择语句:if语句的使用;3.双分支选择语句:if……else语句的使用;4.多分支选择语句:switch语句的使用;5.各类选择语句的嵌套使用;【实验内容及步骤】1.上机编程题1、编程输入学生的学习成绩的等级,给出相应的成绩范围。

设A级为85分以上(包括85分);B级为70分以上(包括70分);C级为60分以上(包括60分);D级为60分以下。

分别使用if语句和switch语句实现。

[程序清单](1)import java.util.Scanner;class s1{public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.println("请输入学生成绩等级(要求大写):");String b =input.nextLine();char a=b.charAt(0);if (a=='A'){System.out.println("学生的学习成绩范围为a>=85 && a<=100");}else if (a=='B'){System.out.println("学生的学习成绩范围为a>=70");}else if (a=='C'){System.out.println("学生的学习成绩范围为a>=60");}else if (a=='D'){System.out.println("学生的学习成绩范围为a>=0 && a<60");}else{System.out.println("输入错误!");}}}(2)import java.util.Scanner;class s2{public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.println("请输入学生成绩等级(要求大写):");String b =input.nextLine();char a =b.charAt(0);switch(a){case 'A': System.out.println("学生的学习成绩范围为a>=85 && a<=100");break;case 'B': System.out.println("学生的学习成绩范围为a>=70");break;case 'C': System.out.println("学生的学习成绩范围为a>=60");break;case 'D': System.out.println("学生的学习成绩范围为a>=0 && a<60");break;default: System.out.println("输入错误!");}}}[程序运行过程]2、分别使用while,do-while和for语句编程,找出所有的水仙花数并输出。

Java实验五

Java实验五

实验五包、接口、类库与向量类一、实验目的(1)掌握创建包与引用包的方法;(2)掌握用接口实现多重继承的机制;(3)熟悉向量类的引入和使用。

二、实验内容1.基本指导指导内容1:包的创建和引用。

实验步骤:(1)开机后,在java实验目录下创建test5子目录。

本阶段的Java源程序都放在这个子目录中。

字节码文件则根据建包的情况放在test5相应的子目录中。

(2)打开一个纯文本编辑器,输入如下的代码:(3)将文件命名为DefiPackage.java,保存在java实验目录的test5子目录下。

(4)打开MS-DOS窗口,转到DefiPackage.java所在的目录,键入命令:javac -d . DefiPackage.java(5)键入Dir 命令,可以看到在test5子目录下创建了p1的子文件夹。

接着键入下面的命令以查看p1下的文件,可以看到DefiPackage.class存储在此文件夹下。

cd p1dir(3)、(4)、(5)的操作步骤如图5-1所示。

图5.1(6)在另一个文件中输入如下的代码:(8)编译并运行该程序,程序的运行结果如图5.2所示图5.2(9)在文件TestPackage.java中加入包定义语句:[package p2;],重新正确地编译和运行该程序,从中理解包的概念。

指导内容2:创建两个Vector类,分别记录凭证的名称和日期。

并根据给定的凭证日期,查询满足条件的凭证名称,或根据给定的凭证名称,查询凭证的日期。

实验步骤:(1)打开一个纯文本编辑器,输入如下的代码:(2)将文件命名为CreateVector.java,保存在java实验目录的test5子目录下。

(3)编译并运行该程序,程序的运行结果如图5-3所示。

图5-3(5)重新编译并运行该程序,程序的运行结果如图5-4所示。

图5-4(6)继续添加代码,查询当给定凭证名称为“收款凭证002”时的凭证日期。

2.练习思考练习内容:创建接口Speakable和Runner,然后创建两个类Dog和Person实现该接口。

java实验五报告

java实验五报告

实验5 Java中的输入、输出实验时间:2012年12月4日一、实验目的与要求1、掌握Java输入、输出流的使用方法。

2、学习异常处理二、实验内容1、利用输入输出流,从键盘读取整数、字符串等,并把它们赋给相应变量,从屏幕输出。

2、利用输入、输出流从某.txt文件读取数据,并把结果保存到另外一个.txt文件。

三、实验器材微机+windows操作系统+eclipse四、实验步骤import java.io.*;public class jianpanshuru {public static void main(String[] args) {// TODO Auto-generated method stubtry{//键盘数据输入InputStream is=System.in;//创建InputStream对象InputStreamReader isr=new InputStreamReader(is);BufferedReader br=new BufferedReader(isr);String s=null;System.out.print("请输入一行内容:");while((s=br.readLine())!=null&&s.length()!=0){System.out.println("您输入的内容为:"+s);int ii=Integer.parseInt(s);System.out.println("输入的整数是:"+ii);}}catch(IOException e){e.printStackTrace();}try{ ///txt文件复制FileReader fr=new FileReader("D:\\lianxi\\2.txt");BufferedReader bf=new BufferedReader(fr);FileWriter fw=new FileWriter("D:\\lianxi\\4.txt");BufferedWriter bw=new BufferedWriter(fw);PrintWriter pw=new PrintWriter(bw);String ss="";while((ss=bf.readLine())!=null){System.out.println(ss);ss=ss+"\r\n";pw.write(ss);pw.flush();}pw.close();}catch(IOException e){System.out.println(e);}}}五、实验结果键盘输入实验结果请输入一行内容:56您输入的内容为:56输入的整数是:56java您输入的内容为:javaException in thread "main" ng.NumberFormatException: For input string: "java"文件复制实验结果文件内容为:2 3 4 南昌理工学院六、实验小结1、通过这个实验加深了对输入流的理解:InputStream可以把字节流转换成字符流;InputStreamReader 用来处理字符流;BufferedReader给字符流增加缓冲区。

JAVA第五次实验报告

JAVA第五次实验报告

JAVA第五次实验报告实验五:数组的引用类型与多态性实验目的:1.掌握数组的引用类型和多态性的概念和使用。

2. 熟悉Java中数组的创建、初始化和遍历。

3.理解多态性的概念和实现方式。

4. 掌握Java中类和对象的定义和使用。

实验过程:1. 创建了一个名为"Person"的类,拥有一个私有成员变量"name"和一个公有的构造方法和一个公有的成员方法printName(。

2. 创建了一个名为"Student"的类,作为Person类的子类,拥有一个私有成员变量"grade"和一个公有的构造方法和一个公有的覆盖了父类方法的成员方法printName(。

3. 创建了一个名为"Teacher"的类,作为Person类的子类,拥有一个私有成员变量"subject"和一个公有的构造方法和一个公有的覆盖了父类方法的成员方法printName(。

4. 在主函数中,创建了一个长度为5的Person类型的数组,并分别实例化了两个Student对象和两个Teacher对象,并将这四个对象赋值给数组的前四个元素。

5. 遍历数组,调用每个对象的printName(方法,分别输出每个对象的名称。

实验结果:运行程序后,实验结果如下:Student - 1Student - 2Teacher - 1Teacher - 2实验分析:通过以上实验,我们可以看到数组可以存储同一父类引用类型的不同子类对象,这种特性称为多态性。

在遍历数组时,可以调用每个对象的方法,实现多态的效果。

在本实验中,通过将两个Student对象和两个Teacher对象赋值给Person类型的数组,我们实现了多态性。

在遍历数组时,调用每个对象的printName(方法,程序会根据对象的具体类型执行对应的方法。

实验总结:通过本次实验,我学会了如何使用数组的引用类型和多态性。

java实验报告五

java实验报告五

java实验报告五Java实验报告五一、引言Java是一种面向对象的编程语言,具有跨平台性、安全性和易学性等特点。

本实验报告将介绍我们在学习Java过程中进行的第五个实验。

二、实验目的本次实验的主要目的是通过实践进一步熟悉Java的基本语法和面向对象的编程思想,并掌握Java中的异常处理机制。

三、实验内容本次实验主要分为两个部分:实现一个简单的图书管理系统和异常处理。

3.1 图书管理系统我们设计了一个简单的图书管理系统,主要包括图书类、用户类和图书管理类。

图书类包含图书的基本信息,如书名、作者、出版社等;用户类包含用户的基本信息,如姓名、年龄、性别等;图书管理类实现了对图书和用户的管理功能,如添加图书、删除图书、借阅图书等。

3.2 异常处理在图书管理系统中,我们使用了异常处理机制来处理一些可能发生的异常情况,如图书馆中没有要借阅的图书、图书已被借完等。

我们使用try-catch语句来捕获异常,并根据具体情况进行相应的处理。

四、实验过程4.1 图书管理系统的实现首先,我们定义了图书类和用户类,并在类中定义了相应的属性和方法。

然后,我们创建了一个图书管理类,并在该类中实现了对图书和用户的管理功能。

最后,我们编写了一个测试类,通过创建对象并调用相应的方法来测试图书管理系统的功能是否正常。

4.2 异常处理在图书管理类的方法中,我们使用了try-catch语句来捕获可能发生的异常。

当出现异常时,程序会跳转到catch块中,并执行相应的处理代码。

我们根据具体情况,输出相应的错误信息或进行其他操作,以保证程序的正常运行。

五、实验结果通过测试,我们发现图书管理系统的功能正常运行,并且能够正确处理可能发生的异常情况。

我们成功添加了图书、删除了图书,并能够正确借阅和归还图书。

六、实验总结通过本次实验,我们进一步熟悉了Java的基本语法和面向对象的编程思想。

我们学会了如何设计和实现一个简单的图书管理系统,并掌握了异常处理的基本方法。

Java实验五

Java实验五

Java实验五南昌航空⼤学实验报告2021 年 12 ⽉ 3 ⽇课程名称:⾯向对象程序设计B 实验名称:⽤户图形界⾯学号:姓名:同组⼈:指导教师评定:签名:⼀、实验⽬的1、了解JavaFX的基本原理和基本组件;2、能够熟练应⽤JavaFX组件进⾏界⾯设计;3、掌握Java的事件驱动机制、lambda表达式;4、掌握shape形状类的使⽤。

⼆、实验要求1、根据实验步骤中提出的要求,使⽤eclipse等开发⼯具编写相应的Java程序;2、编译、运⾏⾃⼰所编写的Java程序;3、根据编译与运⾏过程中所获得的错误信息修改程序直⾄获得正确的结果;4、记录实验中遇到的各类问题并以及解决办法。

三、实验步骤1、请修改实验四农夫过河游戏的代码,将⽤户界⾯改为图形界⾯,界⾯效果⾃⾏设计。

设计⽅法:主要改动的⼀个是Main⽅法,把按钮的控制等等代码都加到这⾥⾯,其次则是class MaterialObject,class Game,主要改动也是因为添加了按钮,剩下的都与实验四的代码差不多,举个例⼦如下所⽰:和2、请画出修改后的类图,并说明在界⾯中使⽤了哪些技巧以达到较好地界⾯效果。

四、实验结果开始:若失败:若是成功:五、实验⼩结通过这次学会了Javafx的使⽤,实话说,感觉这⾥蛮难的,⾥⾯好多⽅法的使⽤都要去学习,去琢磨,通过查阅资料,浏览他⼈优质的代码去学习,去改进,整个实验进⾏的很曲折,功能也有些不完善,但是总体⽽⾔还是收获很⼤的,javafx⾥⾯的按钮事件驱动机制、lambda表达式等等,还有很多值得去学习。

六、附录package jxceshi;import javafx.application.Application;import javafx.event.ActionEvent;import javafx.event.EventHandler;import javafx.geometry.Insets;import javafx.geometry.Pos;import javafx.scene.Scene;import javafx.scene.control.Button;import javafx.scene.image.Image;import javafx.scene.image.ImageView;import yout.GridPane;import javafx.stage.Stage;import java.util.ArrayList;import java.util.HashSet;public class Main extends Application {GridPane pane = new GridPane();Game user = new Game();@Overridepublic void start(Stage stage) {pane.setAlignment(Pos.CENTER);pane.setPadding(new Insets(5,2,2,2));pane.setHgap(3.5);pane.setVgap(3.5);//加⼊图⽚效果Image image = new Image("file:F:\\图⽚\\河.jpg");ImageView imageView = new ImageView();imageView.setImage(image);imageView.setFitHeight(410.5);imageView.setFitWidth(110);pane.add(imageView,1,0,1,4);//加⼊按键Button bt = new Button("农夫独⾃过河");bt.setMinSize(110,30);ButtonEvents handle = new ButtonEvents(1);bt.setOnAction(handle);pane.add(bt,0,4);bt.setOnAction(handle);pane.add(bt,1,4);bt = new Button("农夫带⽺过河");bt.setMinSize(110,30);handle = new ButtonEvents(3);bt.setOnAction(handle);pane.add(bt,0,5);bt = new Button("农夫带菜过河");bt.setMinSize(110,30);handle = new ButtonEvents(4);bt.setOnAction(handle);pane.add(bt,1,5);/*bt = new Button("退出游戏");bt.setMinSize(110,63.5);handle = new ButtonEvents(0);bt.setOnAction(handle);pane.add(bt,2,4,1,2);*/pane=user.play(pane,-1);Scene scene = new Scene(pane);stage.setTitle("农夫过河");stage.setScene(scene);stage.show();}public static void main(String[] args) {unch(args);}class ButtonEvents implements EventHandler<ActionEvent> { int flag;ButtonEvents(int i){this.flag=i;}@Overridepublic void handle(ActionEvent event) {if(flag==0)System.exit(0);elsepane=user.play(pane,flag);}}}abstract class MaterialObjectString place;boolean isExit;MaterialObject(){this.place = "Left";isExit = true;}void diedOut(){this.isExit=false;}boolean isExit(){return this.isExit;}void showStatus(GridPane pane){Image image;ImageView imageView;switch(this.type){case "Farmer":if(this.place.equals("Right")){image = new Image("file:F:\\空.jpg");imageView = new ImageView();setSize(imageView,image);pane.add(imageView,0,0);image = new Image("file:F:\\图⽚\\农夫.jpg"); imageView = new ImageView();setSize(imageView,image);pane.add(imageView,2,0);}else{image = new Image("file:F:\\空.jpg");imageView = new ImageView();setSize(imageView,image);pane.add(imageView,2,0);image = new Image("file:F:\\图⽚\\农夫.jpg"); imageView = new ImageView();setSize(imageView,image);pane.add(imageView,0,0);}break;case "Wolf":image = new Image("file:F:\\图⽚\\狼.jpg"); imageView = new ImageView();setSize(imageView,image);pane.add(imageView,2,2);}else{image = new Image("file:F:\\空.jpg");imageView = new ImageView();setSize(imageView,image);pane.add(imageView,2,2);image = new Image("file:F:\\图⽚\\狼.jpg"); imageView = new ImageView();setSize(imageView,image);pane.add(imageView,0,2);}break;case "Sheep":if(this.place.equals("Right")){image = new Image("file:F:\\空.jpg");imageView = new ImageView();setSize(imageView,image);pane.add(imageView,0,1);image = new Image("file:F:\\图⽚\\⽺.jpg"); imageView = new ImageView();setSize(imageView,image);pane.add(imageView,2,1);}else{image = new Image("file:F:\\空.jpg");imageView = new ImageView();setSize(imageView,image);pane.add(imageView,2,1);image = new Image("file:F:\\图⽚\\⽺.jpg"); imageView = new ImageView();setSize(imageView,image);pane.add(imageView,0,1);}break;case "Cabbage":image = new Image("file:F:\\图⽚\\⽩菜.jpg");imageView = new ImageView();setSize(imageView,image);pane.add(imageView,2,3);}else{image = new Image("file:F:\\空.jpg");imageView = new ImageView();setSize(imageView,image);pane.add(imageView,2,3);image = new Image("file:F:\\图⽚\\⽩菜.jpg");imageView = new ImageView();setSize(imageView,image);pane.add(imageView,0,3);}break;}}void setSize(ImageView imageView,Image image){imageView.setImage(image);imageView.setFitHeight(100);imageView.setFitWidth(110);}}class Animal extends MaterialObject{HashSet<String> recipe = new HashSet<String>();boolean eat(MaterialObject object,MaterialObject farmer) {if(canBeEat(object,farmer)){object.diedOut();return true;}elsereturn false;}void addedToRecipe(MaterialObject object){boolean isFood(MaterialObject object){if(recipe.contains(object.type))return true;elsereturn false;}boolean canBeEat(MaterialObject object,MaterialObject farmer){if(isFood(object)&&object.place.equals(this.place)&&!farmer.place.equals(this.place)) return true;elsereturn false;}}class Person extends MaterialObject{}class Plant extends MaterialObject{}abstract class AbstractTransport{String place;int capacity;AbstractTransport(){this.place="Left";this.capacity=2;}ArrayList<MaterialObject> goodses = new ArrayList<MaterialObject>();void moveTo(){if(this.place.equals("Left")){this.place="";this.place="Right";}else{this.place="";}}class Boat extends AbstractTransport{void crossRiver(){int i;for(i=0;i<goodses.size();i++){if(goodses.get(i).place.equals("Left")){goodses.get(i).place="";goodses.get(i).place="Right";}else{goodses.get(i).place="";goodses.get(i).place="Left";}}moveTo();}void board(MaterialObject object){goodses.add(object);capacity--;}void disembark(){goodses.clear();;capacity=2;}}abstract class AbstractGame{GameOverRule gameOverRule=new GameOverRule();GameSuccessRule gameSuccessRule=new GameSuccessRule(); GameData gameData=new GameData();abstract GridPane play(GridPane pane,int choice);}class Game extends AbstractGame{GameUI UI = new GameUI();GridPane play(GridPane pane,int choice){switch(choice){case 1:gameData.boat.board(gameData.farmer);gameData.boat.crossRiver();gameData.boat.disembark();break;case 2:if(rule.hasCross(gameData.wolf, gameData.boat)){gameData.boat.board(gameData.farmer);gameData.boat.board(gameData.wolf);gameData.boat.crossRiver();gameData.boat.disembark();}break;case 3:if(rule.hasCross(gameData.sheep, gameData.boat)) {gameData.boat.board(gameData.farmer);gameData.boat.board(gameData.sheep);gameData.boat.crossRiver();gameData.boat.disembark();}break;case 4:if(rule.hasCross(gameData.cabbage, gameData.boat)) {gameData.boat.board(gameData.farmer);gameData.boat.board(gameData.cabbage);gameData.boat.crossRiver();gameData.boat.disembark();}break;case 0:over=1;break;}pane=UI.showStatus(gameData,pane);Image image;ImageView imageView;if(over==1){image = new Image("file:F:\\图⽚\\输.jpg");imageView.setFitHeight(410.5);imageView.setFitWidth(337);pane.add(imageView,0,0,3,4);}if(gameOverRule.judge(gameData)){pane.getChildren().clear();if(gameSuccessRule.judge(gameData))image = new Image("file:F:\\图⽚\\胜利.jpg");elseimage = new Image("file:F:\\图⽚\\输.jpg");imageView = new ImageView();imageView.setImage(image);imageView.setFitHeight(417.5);imageView.setFitWidth(337);pane.add(imageView,0,0,3,4);}return pane;}}class GameUI{GridPane showStatus(GameData gameData,GridPane pane) {gameData.farmer.showStatus(pane);gameData.wolf.showStatus(pane);gameData.sheep.showStatus(pane);gameData.cabbage.showStatus(pane);return pane;}}class GameData{MaterialObject farmer = new Person();Animal wolf = new Animal();Animal sheep = new Animal();MaterialObject cabbage = new Plant();Boat boat = new Boat();public GameData(){farmer.type="Farmer";wolf.type="Wolf";sheep.type="Sheep";sheep.addedToRecipe(cabbage);}}abstract class AbstractRule{abstract boolean judge(GameData gameData);}class CrossRiverRule extends AbstractRule{boolean hasCross(MaterialObject object,Boat boat){if(!object.place.equals(boat.place))return false;elsereturn true;}@Overrideboolean judge(GameData gameData) {if(gameData.farmer.place.equals("Right")&&gameData.wolf.place.equals("Right")&&gameData.sheep.place.equals("Right")&&gameData.cabbage.place.equals("Right")) return true;elsereturn false;}}class ObjectExitRule extends AbstractRule{@Overrideboolean judge(GameData gameData) {if(gameData.wolf.eat(gameData.sheep, gameData.farmer)||gameData.sheep.eat(gameData.cabbage, gameData.farmer))return false;elsereturn true;}}class GameOverRule extends AbstractRule{GameSuccessRule win = new GameSuccessRule();ObjectExitRule live = new ObjectExitRule();@Overrideboolean judge(GameData gameData) {if(win.judge(gameData)||!live.judge(gameData))return true;elsereturn false;}}class GameSuccessRule extends AbstractRule {CrossRiverRule cross = new CrossRiverRule();ObjectExitRule live = new ObjectExitRule();@Overrideboolean judge(GameData gameData) {if (cross.judge(gameData) && live.judge(gameData)) return true;elsereturn false;}}。

JAVA实验报告5 异常处理实验

JAVA实验报告5 异常处理实验

JAVA实验报告5 异常处理实验中南财经政法大学武汉学院实验报告实验课名称:__JAVA语言____学生姓名:_______专业班级:__网络工程1104学号:11071125__开课时间:___2013年2月26日_教务处制《Java程序设计基础》实验报告实验序号:05实验项目名称:异常处理学号11071125姓名专业、班级实验地点计-202指导教师时间2013-5-14一、实验目的及要求了解异常处理机制;了解异常的概念;掌握抛出异常、捕获异常和异常处理的方法;了解自定义异常类的定义和使用方法。

二、实验设备(环境)及要求1、Windows-XP操作系统2、Eclipse应用程序三、实验内容与步骤编写一个类ExceptionTest1,在main方法中使用try、catch、finally:①在try块中,编写被0除的代码。

②在catch块中,捕获被0除所产生的异常,并且打印异常信息。

③在finally块中,打印一条语句。

四、实验结果与数据处理import java.util.*;public class ExceptionTest1{public static void main(String[]args){Scanner in=new Scanner(System.in);try{System.out.print("请输入被除数:");double beichushu=in.nextDouble();System.out.print("请输入除数:");double chushu=in.nextDouble();if(chushu==0)throw new ArithmeticException("请输入不为0的数字!");double i=(beichushu/chushu);System.out.println("二者的商为:"+i);}catch(InputMismatchException e1){ System.out.println("请输入数字!");}catch(ArithmeticException e2){System.out.println("请输入不为0的数字!");}finally{ System.out.print("谢谢参与:-)");}}}实验结果如下:五、分析与讨论通过对程序的思考和设计,在一定程度上了解异常处理机制及异常的概念,在一定程度上掌握了抛出异常、捕获异常和异常处理的方法和了解自定义异常类的定义和使用方法。

Java实验五

Java实验五

Java实验五组件与事件处理【目的】①学习处理ActionEvent事件;②学习处理ItemEvent事件和paint方法;③学习使用布局类。

【内容】1.算术测试。

✧实验要求:编写一个算书测试小软件,用来训练小学生的算术能力。

程序由3个类组成,其中Teacher类对象负责给出算术题目,并判断回答者的答案是否正确;ComputerFrame类对象负责为算术题目提供视图,比如用户可以通过ComputerFrame类对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;MainClass是软件的主类。

✧程序:Teacher.javapublic class Teacher{int numberOne, numberTwo;String operator = "";boolean right;public int giveNumberOne(int n){numberOne = (int)(Math.random() * n) + 1;return numberOne;}public int giveNumberTwo(int n){numberTwo = (int)(Math.random() * n) + 1;return numberTwo;}public String giveOperator(){double d = Math.random();if (d >= 0.5)operator = "+";elseoperator = "-";return operator;}public boolean getRight(int answer){if (operator.equals("+")){if (answer == numberOne + numberTwo)right = true;elseright = false;}else if (operator.equals("-")){if (answer == numberOne - numberTwo)right = true;elseright = false;}return right;}}ComputerFrame.javaimport java.awt.*;import java.awt.event.*;public class ComputerFrame extends Frame implements ActionListener {TextField textOne, textTwo, textResult;Button getProblem, giveAnwser;Label operatorLabel, message;Teacher teacher;ComputerFrame(String s){super(s);teacher = new Teacher();setLayout(new FlowLayout());textOne = new TextField(10); //创建textOne,其可见字符长是textTwo = new TextField(10); //创建textTwo,其可见字符长是textResult = new TextField(10); //创建textResult,其可见字符长是operatorLabel = new Label("+");message = new Label("你还没有回答呢");getProblem = new Button("获取题目");giveAnwser = new Button("确认答案");add(getProblem);add(textOne);add(operatorLabel);add(textTwo);add(new Label("="));add(textResult);add(giveAnwser);add(message);textResult.requestFocus();textOne.setEditable(false);textTwo.setEditable(false);getProblem.addActionListener(this);//将当前窗口注册为getProblem的ActionEvent事件监视器giveAnwser.addActionListener(this);//将当前窗口注册为giveAnwser的ActionEvent事件监视器textResult.addActionListener(this);//将当前窗口注册为textResult的ActionEvent事件监视器setBounds(100, 100, 450, 100);setVisible(true);validate();addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}public void actionPerformed(ActionEvent e){if (e.getSource() == getProblem) //判断事件源是否是getProblem{int number1 = teacher.giveNumberOne(100);int number2 = teacher.giveNumberTwo(100);String operator = teacher.giveOperator();textOne.setText("" + number1);textTwo.setText("" + number2);operatorLabel.setText(operator);message.setText("请回答");textResult.setText(null);}if (e.getSource() == giveAnwser) //判断事件源是否是giveAnwser{String answer = textResult.getText();try{int result = Integer.parseInt(answer);if (teacher.getRight(result) == true){message.setText("你回答正确");}else{message.setText("你回答错误");}}catch (NumberFormatException ex){message.setText("请输入数字字符");}}textResult.requestFocus();validate();}}MainClass.javapublic class MainClass{public static void main(String args[]){ComputerFrame frame;frame = new ComputerFrame("算术测试");//创建窗口,其标题为:算术测试}}✧实验后的练习:1. 给上述程序增加测试乘、除的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{ a[i]=sc.nextInt();
//System.out.println(a[i]);
dout.writeIபைடு நூலகம்t(a[i]);
}
dout.close();
DataInputStream din = new DataInputStream(new FileInputStream("myfile.txt"));
FileOutputStream out = new FileOutputStream(outputFile);
int c;
//读写文件流中的数据。
while ((c = in.read()) != -1)
out.write(c);
//关闭流。
in.close();
out.close();
}
}
2、
import java.io.*;
System.out.println("The data of the file myfile.txt you just modified is: ");
for(int j=0;j<a.length;j++)
{System.out.print(din.readInt()+" ");
}
System.out.println();
贵州大学实验报告
学院:计算机科学与信息学院专业:网络工程班级:091
姓名
邱东生
学号
0908060327
实验组
实验时间
05.10
指导教师
曹琳
成绩
实验项目名称
实验五文件流
实验目的
1、了解JAVA中各种流的概念,输入、输出过程。
2、学会对文件流的处理。
实验要求
编写一个文件流程序,实现对文件流的操作。
实验原理
din.close();
}
}
实验数据
1、
farrago.txt中的数据为:
A FileInputStream obtains input bytes from a file in a file system.
What files are available depends on the host environment.
2、通过文件流实现文件的复制。
3、能够自行编程实现键盘输入数据到一个文件,然后将文件内容读出回显到屏幕上。
指导教师意见
签名:年月日
注:各学院可根据教学需要对以上栏木进行增减。表格内容可根据内容扩充。
import java.util.Scanner;
public class OutputNumber {
public static void main(String[] args) throws IOException {
DataOutputStream dout = new DataOutputStream(new FileOutputStream("myfile.txt"));
程序执行后, outagainb.txt中的数据为:
A FileInputStream obtains input bytes from a file in a file system.
What files are available depends on the host environment.
int a[]=new int[10];
Scanner sc=new Scanner(System.in);
System.out.println("Please input ten integer which will be saved in myfile.txt: ");
for(int i=0;i<a.length;i++)
JAVA中的文件流可以实现文件的复制。
实验仪器
JCRAETOR
实验步骤
1、对书中例7-1进行运行并分析。
2、编写程序将10个整型数写入一个文件中,然后再从该文件中将这10个数读出并显示。
实验内容
实验程序:
1、
import java.io.*;
public class CopyBytes {
public static void main(String[] args) throws IOException {
//创建两个File类对象。
File inputFile = new File("farrago.txt");
File outputFile = new File("outagainb.txt");
//创建文件输入/输出字节流。
FileInputStream in = new FileInputStream(inputFile);
分析:上面两个文件的数据一致,因此程序的功能得以实现。程序无误。
2、
分析:先通过键盘输入10个数字,程序写到了myfile.txt中,然后再用函数将文件中的10个数字读出回显在屏幕上。如上图所示,显示正确,程序正确。
实验总结
1、通过本实验,我初步明白了流的概念,并具体对文件流的输入、输出有了一定的了解。
相关文档
最新文档