第一篇:Java语言实验指导书-实验10 流范文
一、实验目的(1)熟悉文件流操作方法。
(2)应用文件流操作文件。
二、实验内容
(1)利用流操作,在屏幕上显示文本文件内容及文件的路径、修改时间、大小、长度、可读性和可修改性等属性。
(2)借助流操作,以图形界面方式向文本文件添加记录并显示其记录内容。
三、实验要求
文件名通过命令行以参数方式输入。程序需要判断参数所提供文件的存在性。待添加的 记录通过TextField控件输入,文件内容通过TextArea控件显示。
第二篇:JAVA实验指导书
实验
一、简单Java程序设计
一、实验目的
1. 学习使用JCreator开发JAVA代码。
2. 了解JAVA的运行环境,掌握开发JAVA代码所需要的相关配置。3. 在JCreator中输入习题程序,验证程序的正确性,熟悉开发环境。
二、实验内容
1. 设置实验环境
a.安装JDK,下载JDK包以后,按安装向导的提示依次安装,可直接安装在C盘根目录下。
b.更新环境变量:
2. 编写程序:由键盘输入两个字符串“12”与“24”,将它们转换成整数,然后计算并输出这两个数的和。
3. 编写程序:由键盘输入给出一个百分制成绩,要求输出成绩等级’A’、’B’、’C’和’D’,90分以上为’A’,75~89为’B’,60~74为’C’,60分以下为’D’。
4. 编一程序,求一个10项所组成的等差数列,其奇数项之和为135,偶数项之和为150。5. 用for语句输出下列数字金字塔:
1 3 1 1 3 5 3 1 3 5 7 5 3 1 1 3 5 7 9 7 5 3 1 6. 编写程序:由键盘输入一正整数,求出小于且等于这个数的所有质数。实验
二、基本数据类型和数组
一、实验目的
1.进一步熟悉JCreator开发JAVA代码。
2.了解数组的使用与JAVA中对字符串的主要操作。
3.在JCreator中输入习题程序,验证程序的正确性,熟悉开发环境。
二、实验内容
1.编写程序:由键盘输入一整数,求出该数所有的因子,如输入6,则输出的6的所有因子为1、2、3、6。
2假设有一条钢材长2000米,每天截取其中的一半,编一程序求出多少天后,钢材的长度开始短于5米?
3编写程序:利用数列4(113151719111)来取得的近似值。并计算在得到3.14159之前,这个数列要取到第几项?
4使用java.long.Math类,生成10个0~99之间的随机整数,求出它们中的最大值和最小值。
提示:java.long.Math类支持random方法:Math.Random()。该方法返回值是正数,类型为double,范围为0~1。如果要得到其它范围的数,则要进行相应的转换。例如要得到(a,b)之间的整数的方法是:(int)((b-a+1)*Math.random()+a)。若要得到(0,99)之间的整数可以使用下列语句:
int m =(int)(100*Math.random());5编写程序:声明一数组来存放12个月的英文名称,由用户从键盘输入月份,如输入8,则程序输出相应的月份名称:August。同时请大家考虑若是用户输入了1~12以外的内容,你的程序将如何应对?
6编写程序:由键盘输入一16位的长整数,统计0~9这十个数字每一个出现的次数。7编写程序:将两个各有6个整数的数组,合并成一个由小至大排列的数组(该数组的长度为12)。8编写程序:以递归的方式实现1+2+3+„„+n(n = 200)的计算。
实验
三、类与对象
一、实验目的
1.进一步熟悉JCreator开发JAVA代码。2.了解类和对象之间的关系。
3.在JCreator中声明一个类,其中有多个构造方法。用不同的构造方法创建对象。
二、实验内容 声明一个矩形类Rectangle,其中有多个构造方法。用不同的构造方法创建对象,并输出矩形的周长和面积。声明一个矩阵类Matrix,有这样一些实例方法:将一个矩阵转置、求两个矩阵的和。写出下面程序的运行结果
class University { String name, city;University(String name, String city){ this.name = name;this.city = city;System.out.println(“super class”);} boolean samecity(String city){ if(city.equals(this.city))return true;else return false;} boolean samecity(University u){ return samecity(u.city);} }
class UniversityWorld extends University { String country;UniversityWorld(String name, String city, String country){ super(name,city);this.country = country;System.out.println(“sub class”);} boolean samecity(String city, String country){ if(city.equals(this.city)&& country.equals(this.country))return true;else return false;} boolean samecity(UniversityWorld other){ return samecity(other.city, other.country);} }
class UniversityWorldCity { public static void main(String args[]){ String city = “上海”,country = “中 国”;UniversityWorld u1 =new UniversityWorld(“北京大学”, “北京”, “中 国”);UniversityWorld u2 = new UniversityWorld(“清 华 大 学”, “北京”, “中 国”);System.out.println(“u1 = ” + u1.name + “, ” + u1.city + “, ” +u1.country);System.out.println(“u2 = ” + u2.name + “, ” + u2.city+ “,” + u2.country);System.out.println(“city = ” + city + “, country = ” +country);System.out.println(“u1.samecity(u2)= ” + u1.samecity(u2));System.out.println(“u1.samecity(city, country)= ” + u1.samecity(city,country));} } 实验
四、继承与接口
一、实验目的
1.进一步熟悉JCreator开发JAVA代码。2.了解类的成员的访问权限和包的关系。
3.了解继承和接口的区别已及它们各自的作用,熟悉开发环境。
二、实验内容 创建两个String类的对象str1和str2,判断sr2是否是str1的子串。如果是,输出str1中,在子串ztr2前和后的字符串。如:
“Action”是“addActionListener”的子串,在此子串前是字符串”add”,后面是字符串”Listener”。写出下面程序的运行结果 class Leve1{ String name=“";
int height,width;public Leve1(){;}
public Leve1(Leve1 le){
name=le.name;
height=le.height;
width=le.width;} public Leve1(String na,int h,int w){
name=na;
height=h;
width=w;}
public int higherthen(Leve1 t){
return this.height-t.height;}
public void print(){
System.out.println(”class Leve1: “);
System.out.println(”Name=: “+name+”, Height=: “+height+”, Width=: “+width);} } class Leve2 extends Leve1{ int width;
public Leve2(){;}
public Leve2(Leve1 le,int h,int w){
super(le);
height=h;
width=w;}
public int widerthen(){
return width-super.width;} public void print(){
System.out.println(”class Leve2: “);
System.out.println(”Name=: “+name+”, Height=: “+height+”, Width=: “+width);} } public class Lev_ex{ public static void main(String args[]){ Leve1 le1=new Leve1(”Tower_1“,50,20);
Leve2 le2=new Leve2(le1,40,25);
le1.print();
le2.print();
System.out.println(”Leve1 is “+le1.higherthen(le2)+” highter then Leve2.“);
System.out.println(”Leve2 is “+le2.widerthen()+” wider then Leve1.“);} }
3、编写代码,完成功能:建立一个窗口,窗口上方横列“文件”、“选项”两个菜单项。其中“文件”菜单下隐含“退出”、“显示”、“隐藏”三个子菜单,每个子菜单都可用快捷键选择并且“退出”与其他两个子菜单之间用分隔线分隔。“选项”菜单下包含名称为“1”、“2”、“3”。。。“50”的50个菜单项,当选择其中任何一个数字选项时,窗口正中将显示0至该数字之间所有数的平方和(包含数字本身)。如选中选项“3”,则显示14(SUM=1*1+2*2+3*3=14)。实验
五、常用实用类
一、实验目的
1.进一步熟悉JCreator开发JAVA代码。2.了解常用实用类的使用。
二、实验内容 求和工具。编写一个程序:设计如下面图示的界面。在该界面中,可以在第一个文本框中输入第一个加数,可以在第二个文本框中输入第二个加数,当用鼠标的左键单击按钮”="时,在第三个文本框中显示出前面两个加数之和。设计一个简单的计算器,能进行两个数的加、减、乘、除。界面如图所示。“clear”按钮用于清理文本域的内容。16方格排序游戏设计。编写一个程序:如图所示,要求在界面上设计4×4的按钮,即16个按钮排列成4×4的网格形状。其中有且只有15个按钮上有从1到15的数字,而且这些数字在按钮上不重复出现。另外有一个按钮上没有数字。当程序刚启动时这15个数字是随机排列的。当用鼠标左键单击某个按钮,如果该按钮上有数字而且该按钮在没有数字的按钮的边上,则将该按钮上的数字给没有数字的按钮,同时该按钮就变成了没有数字的按钮。当15个数字在4×4的网格中呈顺序或逆序排列,则显示消息框表明排列成功,并重新随机排列这15个数字在按钮网格上的位置。(提示: Math.random()可以产生随机数)
实验
六、GUI编程
一、实验目的
1.进一步熟悉JCreator开发JAVA代码。2.了解GUI编程。
二、实验内容
1. 在下拉列表choice1中选择整数N,单击“生成”按钮在列表框List1和List2中显示N对的随机数(2~1000),在列表框List3中显示每对随机数的最大公约数。单击“排序”按钮,List3中的N个最大公约数按从小到大排列。(提示:排序算法采用冒泡法。两数的最大公约数可以采用欧几里得算法:不断用两数中较大数减较小的数,至到有一个数等于0。另外一个大于0的数就是这两数的最大公数约)。
2.完成程序实现一个简单的文本编辑器,其中File菜单实现Exit子菜单,Edit菜单实现Copy、Cut、Paste、DeleteAll功能,Option菜单实现字体设置功能。
3.在文本框中输入函数y=sin(ax)中a的值,点击draw按钮画出函数图形。
实验
七、多线程
一、实验目的
1.进一步熟悉JCreator开发JAVA代码。2.了解多线程编程。
二、实验内容
1、编写程序,有两个线程,分别在屏幕上显示1~50之间的奇数和偶数。观察一共有几个线程在运行,各个线程是怎样被处理器执行的。
2、编写一个程序,创建两个线程,其中一个产生5个1~100之间的随机整数,另一个线程将这5个数加起来。观察运行的情况,分析是否正确。如果结果有问题,想办法解决它。
实验
八、图形图像
一、实验目的
1.进一步熟悉JCreator开发JAVA代码。2.了解图形图像编程。
二、实验内容
1、编写一个模拟画图的程序,用户可以选择绘图的图形,如“线”、“矩形”、“圆”、“椭圆”等,选择后即可在屏幕上移动鼠标画图。(提示:选择图形可以使用单选按钮组,画图需要处理鼠标事件。)
第三篇:java流实验内容及代码
实验7 流(2学时)
一、实验目的1.熟悉流类库中各种常用流的使用方法。
2.能够使用流类实现基本的文件读写。
二、实验内容
1.编写程序,在控制台窗口提示输入两个整数,然后接收这两个整数,并输出它们的和。(要求:键盘输入通过流封装System.in获取,不要使用Scanner类)
import java.io.*;System.out.println(x);System.out.println(“y”);public class Num1 {n=in.readLine();public static void main(String []args)y=Integer.parseInt(n);{System.out.println(y);int x=0,y=0;}catch(IOException e)BufferedReader in=new BufferedReader({
newSystem.out.println(“error”);InputStreamReader(System.in));}
String n;int s=x+y;
try{System.out.println(s);System.out.println(“x”);}
n=in.readLine();}
x=Integer.parseInt(n);
2.设计学生类Student,属性:编号(整型);姓名(字符串),成绩(整型)。编写一个程序:要求:(1)输入3个学生的姓名和成绩,将其姓名和成绩保存到data.txt中;(2)然后从该文件中读取数据,求得这三个学生的平均成绩。
import java.io.*;DataOutputStream dout = newDataOutputStream(public class num2 {newpublic static void main(String[]args)FileOutputStream(“D:data.txt”));{String n;
BufferedReader in=new BufferedReader(for(int i=0;i<5;i++)new{
InputStreamReader(System.in));n=in.readLine();
int num=Integer.parseInt(n);try{String name=in.readLine();
n=in.readLine();int grade=Integer.parseInt(n);dout.writeBytes(num+“rn”);dout.writeBytes(name+“rn”);dout.writeBytes(grade+“rn”);}dout.close();}catch(IOException e1){int num=Integer.parseInt(n);
n=din.readLine();String name=n;n=din.readLine();int grade=Integer.parseInt(n);ave+=grade;}System.out.println(“平均成绩”+ave*1.0/5);System.out.println(“文件写入失败”);}try{DataInputStream din =new DataInputStream(new FileInputStream(“D:data.txt”));int ave=0;String n;for(int i=0;i<5;i++){n=din.readLine();
三、实验要求
完成程序设计并提交实验报告。
在“);失败”);} }
}catch(FileNotFoundException e){System.out.println(“文件不存}catch(IOException e2){System.out.println(”文件读取}
第四篇:Java 实验 文件管理与IO流
作业要求:每个题保存为一个.java文件,保存在同一工程文件夹中,文件夹的名字为E:Java你的班级+姓名,例如:E:Java信息11张三。
注意:上交的程序包含程序的执行结果,以注释的形式附在程序后面。
实验六文件管理与I/O流
一、实验目的1.熟悉用文件File类创建、删除、查看文件或目录。
2.字节流、字符流、缓冲流、随机流等流式文件的创建,读写操作。
3.用字符流和缓冲流从键盘接受字符串的方法。
二、实验内容
1.先运行该程序。源文件是sy6_1.java。然后按【思考问题】分析程序。
import java.io.*;
public class sy6_1{
public static void main(String[] args)throws Exception
{
int x=0;
File Mypath;
Mypath=new File(“E:aaaa”);
if(!Mypath.exists())
{System.out.println(“创建新目录”);Mypath.mkdir();}
else System.out.println(“目录已存在”);
File Myfile1=new File(Mypath,“myfile1.txt”);
File Myfile2=new File(Mypath,“myfile2.txt”);
File Myfile3=new File(Mypath,“myfile3.txt”);
FileInputStream Fin=new FileInputStream(Myfile1);
FileOutputStream Fout=new FileOutputStream(Myfile1);
DataOutputStream Dout=new DataOutputStream(new FileOutputStream(Myfile2));
DataInputStream Din=new DataInputStream(new FileInputStream(Myfile2));
PrintWriter PWout=new PrintWriter(new FileWriter(Myfile3));
RandomAccessFile RAread=new RandomAccessFile(Myfile3,“r”);
String str;
int num1;
BufferedReader buf;//缓冲流
buf=new BufferedReader(new InputStreamReader(System.in));
System.out.print(“请输入一个小于255整型数:”);
while(!(str=buf.readLine()).equalsIgnoreCase(“q”))
{ System.out.print(“请输入另一个小于255整型数,按Q结束:”);
num1=Integer.parseInt(str);
Fout.write(num1);
}Fout.close();
System.out.println(“你刚输入的数据是:”);
while((x=Fin.read())!=-1)
{ System.out.println(x);
}Fin.close();
System.out.print(“请输入int范围内整型数:”);
while(!(str=buf.readLine()).equalsIgnoreCase(“q”))
{ System.out.print(“请输入另一个整型数,按Q结束:”);
num1=Integer.parseInt(str);
Dout.writeInt(num1);
}Dout.close();
int leng=Din.available()/4;
int xxx=0;
while(xxx { xxx++; x=Din.readInt(); System.out.println(x); } Din.close(); System.out.print(“请输入第一个字符串:”); while((str=buf.readLine())!=null) { System.out.print(“请输入另一个字符串,按Ctrl+Z结束:”); PWout.println(str);//写入myfile3.txt中 } PWout.close(); RAread.seek(0); while(RAread.getFilePointer() {System.out.println(RAread.readLine());//从myfile3.txt中一行一行读并输出在控制台上 } RAread.close(); System.out.println(“完成”); } } 【思考问题】 ① 本程序共用到哪几种流式文件?都用于做什么? 答:基本输入输出流:System.in.输入(从键盘) System.out.输出(显示器) 字节流类:FileOutputStream 文件输出 FileInputStream 文件输入 DataOutputStream数据输出 DataInputStream数据输入 字符流类:PrintWriter输入 缓冲文件流:BufferedReader ② 运行完程序后,请用“我的电脑”找到创建的文件,并分别打开文件看其内容,你 看到的是你输入的数据吗? 答:myfile1和myfile2中的数据非输入数据,myfile3中可以看见输入的数据。③ 将创建输入流对象Fin放在输出流Fout前,看发生什么? ④ 对第二种流式文件判断文件占用字节的长度用available()方法,而此处用int leng=Din.available()/4;为什么除以4? 2.按照第1题的内容,修改程序要求每次重新运行不覆盖原内容,把所有其它流式文件全部改用随机流式文件来实现,新的数据填加在文件尾,然后读出校验。 import java.io.*; public class sy6_2 { public static void main(String[] args)throws Exception { File Mypath; Mypath = new File(“E:aaa”); if(!Mypath.exists()) {System.out.println(“创建新目录”);Mypath.mkdir();} else System.out.println(“目录已存在”); File Myfile1 = new File(Mypath, “myfile1.txt”); File Myfile2 = new File(Mypath, “myfile2.txt”); File Myfile3 = new File(Mypath, “myfile3.txt”); RandomAccessFile rf1 = new RandomAccessFile(Myfile1, “rw”); RandomAccessFile rf2 = new RandomAccessFile(Myfile2, “rw”); RandomAccessFile rf3 = new RandomAccessFile(Myfile3, “rw”); String str; int num1; BufferedReader buf;//缓冲流 buf = new BufferedReader(new InputStreamReader(System.in)); System.out.print(“请输入一个小于255整型数:”); rf1.seek(rf1.length());//指针移到文件尾进行写操作 while(!(str=buf.readLine()).equalsIgnoreCase(“q”)) { System.out.print(“请输入另一个小于255整型数,按Q结束:”);num1=Integer.parseInt(str); rf1.write(num1);//将整型数作为ascii码值所对应的字符写入myfile1.txt中} rf1.seek(0);//指针移到文件头进行读操作 int x=0; while((x=rf1.read())!=-1) { System.out.println(x); } rf1.close(); System.out.print(“请输入int范围内整型数:”); rf2.seek(rf2.length()); while(!(str = buf.readLine()).equalsIgnoreCase(“q”)){ System.out.print(“请输入另一个整型数,按Q结束:”); num1 = Integer.parseInt(str); rf2.writeInt(num1); } int x1 = 0; for(int l = 0;l { rf2.seek(l*4); x1 = rf2.readInt(); System.out.println(x1); } rf2.close(); System.out.print(“请输入第一个字符串:”); rf3.seek(rf3.length()); while((str = buf.readLine())!= null){ System.out.println(“请输入另一个字符串,按Ctrl+Z结束:”);rf3.writeUTF(str);//写入myfile3.txt中 } rf3.seek(0); while(rf3.getFilePointer()< rf3.length()){ System.out.println(rf3.readUTF());//从myfile3.txt中读出字符串并输出在控制台上 } rf3.close(); System.out.println(“完成”); } } 三、实验报告要求 1.回答第1题【思考问题】提出的问题。 2.写出第二题要求的源程序。 实验12:Java高级I/O流程序设计 实验时间:实验地点: 一、实验目的及要求 (1)掌握文件类File的使用。 (2)理解随机存取文件类RandomAccessFile的使用。 二、实验设备环境及要求 三、实验任务 (1)按要求编写Java Application程序,并编译、运行这个程序。 四、实验内容与步骤 1.输出当前目录下my.txt文件的基本信息。 import java.io.*; import java.util.*; public class FileTest{ public static void main(String args[]){File f=new File(“my.txt”);System.out.println(“Absolute path: ” + f.getAbsolutePath()+“n Can read: ” + f.canRead()+“n Can write: ” + f.canWrite()+“n getName: ” + f.getName()+“n getParent: ” + f.getParent()+“n getPath: ” + f.getPath()+“n length: ” + f.length()+“n lastModified: ” + new Date(f.lastModified()));if(f.isFile())System.out.println(“It's a file”); }}else if(f.isDirectory())System.out.println(“It's a directory”); 2.编写一个Java Application程序,实现如下的设计功能:运行该程序可以列出当前目录下的文件。 import java.io.*; class FileDir{ public static void main(String args[]){ File f=new File(“D:”); File fs[]=f.listFiles(); for(int i=0;i if(fs[i].isFile()) System.out.println(fs[i].getName()); else System.out.println(“ } } } 五、实验指导与处理 六、分析讨论 实验教师评语成绩 签名: 日期:第五篇:实验12:Java高级IO流程序设计