当前位置:文档之家› java实验4

java实验4

java实验4
java实验4

实验项目名称:Java高级编程实验学时:6 同组学生姓名:————实验地点:1514/A203 实验日期: 2016.5.13/5.25/5.27实验成绩:批改教师:王倩倩批改时间:

一、实验目的和要求

(1)了解文件的概念和文件对象的创建方法;

(2)掌握使用文件输入输出流读写文件的方法;

(3)了解线程的基本概念和多线程程序设计的基本方法;

(4)掌握数据库连接的方法;

(5)创建SQL查询并更新数据库中的信息;

(6)调试程序要记录调试过程中出现的问题及解决办法;

(7)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;

(8)做完实验后给出本实验的实验报告。

二、实验仪器和设备

奔腾以上计算机,Windows 操作系统,装有JDK1.7和Eclipse软件,Access数据库。

三、实验过程

(1)使用文件字节输入/输出流,合并两个指定文件;当文件中的数据已排序时,合并后的数据也要求是已排序的。

(2)将Java的关键字保存在一个文本文件中,判断一个字符串是否为Java的关键字。(3)编写在构造方法中产生一个1-5之间的随机数的继承Thread类的线程类DelayPrintThread,使得线程体每休眠此随机数时间就打印输出线程号和休眠时间;另外编写应用DelayPrintThread类的Java应用程序TwoThread.java,在main()方法中创建两个线程,并应用sleep()控制主应用程序延迟一段时间。

(4)编写继承Runnable接口的Applet多线程小程序类MultiThreadApplet,编写继承该类的Applet小程序类Clock,在Clock中重新构造父类的run()方法,实现数字时钟的功能,要求不断刷新显示时、分、秒。

要求:

(1)注意选用适当的文件流进行文件读写;

(2)学会两种创建线程的方法,并比较使用场合;

(3)养成良好的编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,包的命名方式如four.num1表示实验四的第一题;

(4)学会查阅Java API文档,如查找常用工具类。

程序清单:

(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)

第1题实验代码:

package shiyan4_1;

import java.io.*;

import javax.swing.JOptionPane;

publicclass mergefile //extends FilterInputStreanm implements DateIput

{

publicint ct;

public mergefile()

{

}

publicvoid merge(String filename1,String filename2,String filename3) {

try

{

FileInputStream fin1=new FileInputStream(filename1);

FileInputStream fin2=new FileInputStream(filename2);

FileOutputStream fout3=new FileOutputStream(filename3,true);

byte buffer[]=newbyte[512];

int count=0;

while((count=fin1.read(buffer))!=-1)

{

this.ct=count;

fout3.write(buffer,0,count);

}

fin1.close();

while((count=fin2.read(buffer))!=-1)

{

this.ct+=count;

fout3.write(buffer,0,count);

}

System.out.print("&"+this.ct);

fin2.close();

fout3.close();

}

catch(FileNotFoundException ex)

{

JOptionPane.showMessageDialog(null, filename1+"文件不存在,不能合并。");

}

catch(IOException ex)

{

JOptionPane.showMessageDialog(null, "IO异常,合并

\""+filename1+filename2+"\"文件未成功");

}

}

publicvoid sort(String filename)

{

try

{

byte temp[]=newbyte[ct];

int count=0;

byte t;

FileInputStream fin=new FileInputStream(filename);

while((count=fin.read(temp))!=-1)

{

}

fin.close();

FileOutputStream fout=new FileOutputStream(filename,false);

for(int i=0;i

{

for(int j=0;j

{

if(temp[j]>temp[j+1])

{

t=temp[j];

temp[j]=temp[j+1];

temp[j+1]=t;

}

}

}

fout.write(temp);

fout.close();

}

catch(FileNotFoundException ex)

{

JOptionPane.showMessageDialog(null, filename+"文件不存在,不能合并。");

}

catch(IOException ex)

{

JOptionPane.showMessageDialog(null, "IO异常,合并\""+filename+"\"文件未成功");

}

}

publicstaticvoid main(String args[])

{

mergefile mf=new mergefile();

mf.merge("f:\\tex1.txt", "f:\\tex2.txt","f:\\tex3.txt");

mf.sort("f:\\tex3.txt");

}

}

第2题实验代码:

package shiyan4_2;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import javax.swing.JOptionPane;

import shiyan4_1.mergefile;

public class iskeyword

{

public iskeyword()

{

}

public boolean judgekeyword(String filename)

{

try

{

FileInputStream fin=new FileInputStream(filename);

byte buffer[]=new byte[512];

int count=0,ct=0;

while((count=fin.read(buffer))!=-1)

{

ct=count;

}

fin.close();

FileInputStream fin2=new FileInputStream(filename);

byte tt[]=new byte[ct];

while((count=fin2.read(tt))!=-1)

{

ct=count;

}

fin.close();//对于输入流打开的时候再次打开会有影响,而且要知道到底读入多少字节,还需要进行两次读写。

String str="abstract";

System.out.println(str);

String temp= new String(tt);//将字符数组转换成字符串

System.out.println(temp.length());

if(str.equals(temp))

{

return true;

}

else

{

return false;

}

}

catch(FileNotFoundException ex)

{

JOptionPane.showMessageDialog(null, filename+"文件不存在,不能合并");

}

catch(IOException ex)

{

JOptionPane.showMessageDialog(null, "IO异常,文件未成功");

}

}

public static void main(String args[])

{

iskeyword kk=new iskeyword();

if(kk.judgekeyword("f:\\keyword.txt"))

{

System.out.println("有关键字");

}

else

{

System.out.println("没有关键字");

}

}

}

第3题实验代码:

package shiyan4_3;

publicclass DelayPrintThread extends Thread

{

int sleepTime;

public DelayPrintThread()

{

sleepTime = 1 + (int) (Math.random() * 5);

}

publicvoid run()

{

int i=0;

while(i++<3)

{

try

{

Thread.sleep(sleepTime);

System.out.println("the id of thread

is:"+Thread.currentThread().getId());

System.out.println("the sleep time is:"+sleepTime);

}

catch (InterruptedException ev)

{

break;

}

}

}

}

package shiyan4_3;

publicclass twothread

{

publicstaticvoid main(String args[]) throws InterruptedException

{

System.out.println("currentThread="+Thread.currentThread().getName());

Thread.sleep(1000);

DelayPrintThread thread1 = new DelayPrintThread();

DelayPrintThread thread2 = new DelayPrintThread();

thread1.start();

thread2.start();

}

}

第4题实验代码:

package shiyan4_4;

import java.applet.Applet;

class MultiThreadApplet extends Applet implements Runnable

{

publicvoid run()

{

}

}

package shiyan4_4;

import java.awt.*;

import java.util.*;

publicclass Clock extends MultiThreadApplet

{

Thread clockthread ;

Font font;

public Clock()

{

}

publicvoid init()

{

this.setSize(350, 150);

font = new Font("TimesRoman",Font.CENTER_BASELINE,45);

}

publicvoid start()

{

if(clockthread == null)

clockthread = new Thread(this,"Clock");

clockthread.start();

}

publicvoid run()

{

while(true)

{

repaint();

try

{

Thread.sleep(1000);

}

catch(InterruptedException e)

{

break;

}

}

}

publicvoid paint(Graphics g)

{

g.setFont(font);

Calendar cal=Calendar.getInstance();

g.drawString(cal.get(Calendar.HOUR_OF_DAY) + ":" +

cal.get(Calendar.MINUTE) + ":" + cal.get(Calendar.SECOND), 80, 100);

}

}

四、实验结果与分析

第1题实验结果:

第2题实验结果:

f:\keyword.txt文本中存放的内容:

abstract

8

有关键字

第3题实验结果:

currentThread=main

the id of thread is:8

the sleep time is:3

the id of thread is:9

the sleep time is:3

the id of thread is:8

the sleep time is:3

the id of thread is:9

the sleep time is:3

the id of thread is:8

the sleep time is:3

the id of thread is:9

the sleep time is:3

第4题实验结果:

学号-姓名-Java语言实验报告四

《Java语言与面向对象程序设计基础》课程 实验报告四 姓名:xxx 学号:20097110080xxx 实验题1 [实验要求] ?掌握Java IO流处理 ?掌握文件操作 ?掌握多线程程序设计 [实验程序] import java.io.*; public class Test4_1 { public static void main(String[] args) { try { File myDir=new File("C:/Test"); if ( !myDir.exists()) myDir.mkdir(); else if ( !myDir.isDirectory()) { System.err.println(" 'C:/Test' is not a directory"); return; } File f=new File(myDir,"a.txt"); f.createNewFile(); FileWriter out = new FileWriter(f); for (int i=0;i<26;i++){ out.write((char)('A'+i)); } out.close(); } catch (IOException e) { System.out.println(e); } } } [运行结果]

[实验结论与收获]

掌握文件及文件夹的创建及文件的写入。 实验题2 [实验要求] 将实验1题中新建的"a.txt"文件内容复制到"C:\Test\Ex"目录中"b.txt"文件中。[实验程序] import java.io.*; public class Test4_2 { public static void main(String[] args) { try { File myDir=new File("C:/Test/Ex"); if ( !myDir.exists()) myDir.mkdir(); else if ( !myDir.isDirectory()) { System.err.println(myDir+ " is not a directory"); return; } File myFile =new File(myDir,"b.txt"); myFile.createNewFile(); FileReader in= new FileReader("C:/Test/a.txt"); BufferedReader bufIn = new BufferedReader(in); FileWriter out= new FileWriter (myFile); BufferedWriter bufOut= new BufferedWriter(out); String line; line = bufIn.readLine(); //System.out.println(line); while ( line!= null ) { System.out.println(line); bufOut.write(line,0,line.length()); bufOut.newLine(); line = bufIn.readLine(); } bufIn.close(); bufOut.close(); } catch (IOException e) { System.out.println(e); } } } [运行结果]

JAVA洗衣机仿真程序实验报告及代码

一.实验题目:用java编写洗衣机仿真程序 二.实验目的: 1.熟悉并掌握洗衣机(全自动)的工作原理和运行过程. 2.学会软件工程设计中的一系列分析研究,对需求分析,可行性研究,软件 模型等有一定的了解,为以后的软件设计工作打下良好的基础。 3.通过的洗衣机仿真系统的编写与学习,加深了对Java这门语言的了解, 对其中的类的设计,类之间的关系,界面的设计(按钮及布局的设计)有了更深的了解与体会,为Java的学习做好准备工作。 三.实验要求: 了解全自动洗衣机的简单工作过程及实现。其中包括,洗衣的方式(标准或是柔和)、洗衣中的水位选择(高水位洗衣、低水位洗衣等)等方面需要在人们将衣服放入洗衣机洗衣服之后手动来选择;并且是必须选择的洗衣参数。当选择了一种洗衣参数后,按下启动按钮,洗衣机就会自动完成洗衣服的整个过程。在满足基本功能以外,还需要尽量考虑外观、造型、节水等方面的设计,符合人机界面的基本要求。 四.实验分析: 1.洗衣机需求分析: 标准清洗:浸泡/清洗/甩干 快速清洗:清洗/甩干 大件衣物(冬衣,牛仔类):浸泡(温水,延长浸泡/清洗(延长筒转时间)/甩干床单,窗帘类:浸泡(温水)/清洗 根据衣物的不同用按钮选择上述洗衣模式即可.其中甩干可选可不选. 尽量设计了一个节水功能,可以实现水回收.在无需甩干时水不流走,余下的水可做其他用途,实现节水. 2.主要的类实现 (1).继承类 (2).包括进水,排水,洗涤,漂洗,甩干等成员函数 (3).水位的选择通过参数传递决定进水函数 (4).其余通过调用筒的转动函数(run)并通过一定的参数控制实现

3.程序设计步骤 ≡≥选择水温 ≡≥放入衣物 ≡≥选择洗衣模式 ≡≥脱水 ≡≥排水 ≡≥烘干 ≡≥关闭 五.设计与实现过程: 1.洗衣机类的部分实现: import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Washing extends JApplet{ private JFrame jf; private JButton jb1,jb2,jb3,jb4,jb5,jb6; public static void main(String[] args){ Washing flowTest=new Washing(); flowTest.setSize(270,160); flowTest.go(); //flowTest.show(true); } public void go(){ jf=new JFrame("洗衣机功能模拟器"); Container cp=jf.getContentPane(); cp.setLayout(null); jb1=new JButton("入水"); jb2=new JButton("加衣"); jb3=new JButton("脱水"); jb4=new JButton("排水"); jb5=new JButton("烘干"); jb6=new JButton("关闭"); // Container cp=jf.getContentPane(); // cp.setLayout(new BorderLayout()); jb1.setBounds(10, 10, 80, 80); cp.add(jb1); //指定组件追加到这个容器的末尾。这是一个方便的方法为addImpl。 //注意:如果一个组件已被添加到一个已显示的容器,验证必须在该容器调用,以显示新的组件。如果正在添加多个组件,你可以通过调用验证只有一次,已添加的所有组件后提高效率。 jb2.setBounds(110, 10, 80, 80); cp.add(jb2);

JAVA试验

《Java程序设计》课程实验指导书

实验一Java开发环境的安装与配置,熟悉Java程序 结构 一、实验目的: 1.掌握JDK的安装步骤。 2.理解环境变量PATH,CLASSPATH的作用,以及它们的设置方法。 3.熟悉Eclipse编辑环境,编写简单的Application程序,并编译和执行。 二、实验内容: 熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序和Applet程序(能输出一条简单的问候信息); 三、实验要求: 1.能正确地安装JDK 2.熟悉环境变量PATH,CLASSPATH设置方法,熟悉编辑环境 3.调试程序、编译,运行后得到正确的结果 4.写出实验报告,要求记录编译和执行Java程序当中的系统错误信息提示, 并给出解决办法。 四、实验步骤: 1.从https://www.doczj.com/doc/f510878072.html,上下载最新版本的JDK,并安装。 2.设置环境变量PATH,CLASSPATH,使得Java程序能正确编译和执行。 3.编写一个HelloWorld.java程序, (1)在主方法static public void main(String[]args)中调用System. out.println()方法,使程序输出一条问候信息; (2)编译运行程序,观察运行情况和输出结果。(使用JDK环境,调用 javac.exe和java.exe编译和执行程序)

实验二Java语言基础 一、实验目的: 熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。 二、实验内容: 1.编写Java Application程序,输出1900年到2000年之间的所有润年。 (闰年的判断条件:能被4整除且不能被100整除,或能被400整除); 2.编写Java Appet程序打印“水仙花”数(它的个、十、百位数字的立 方的和等于该数本身,如:153=1^3+5^3+3^3) 3.编写Java Application程序,分别用do-while和for循环计算 1+1/2!+1/3!+1/4!...的前20项和 三、实验要求: 1.正确使用Java语言的选择语句,循环语句; 2.调试程序、编译,运行后得到正确的结果 3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提成 示,并给出解决办法。 四、实验步骤: 1.编写主类; 2.在static public void main(String[]args)方法中加入实现要求功能 的代码,主要步骤如下: (第一题)从1900到2000循环,按照闰年的判断条件是则输出1900年到2000年之间的所有润年。 (第二题)编写Java Applet,在public void paint(Graphics g)方法中加入实现要求功能的代码,主要步骤是:从100到1000循环,判断每个 数是否符合水仙花数的特点,是则输出之。 3.编译运行程序,观察输出结果是否正确。 五、自做实验 1.输出100以内的所有素数。

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

JAVA实验四异常处理

实验四异常处理 实验目的 1、掌握异常的概念和Java 异常处理机制。 2、掌握异常的定义、抛出和捕捉处理。 实验内容与要求 1、仔细读下面的JAVA语言源程序,自己给出程序的运行结果 import java.io.*; public class Ch31 { public static void main(String args[])throws IOException { int[] ko=new int[15]; int n,a; String x; BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter an integer:"); x=keyin.readLine(); n=Integer.parseInt(x); try { a=110/n; ko[15]=100; System.out.println("此描述无法执行!"); } catch(ArithmeticException e){ System.out.println("除数为0的错误"); } catch(ArrayIndexOutOfBoundsException f) { System.out.println("数组索引值大于数组长度的错误!"); } System.out.println("执行完catch的描述!!!"); } } 2.运行下面的程序,自己给出程序的运行结果。 import java.io.*; public class Ch32{ public Ch32(){ try{ int a[] = new int[2]; a[4] = 3; System.out.println("After handling exception return here?"); }catch(IndexOutOfBoundsException e){ System.err.println("exception msg:" + e.getMessage()); System.err.println("exception string:" + e.toString()); e.printStackTrace(); }finally{

Java实验报告及其源代码 Java基本程序设计

实验1 Java基本程序设计 一、实验目的 1.掌握设置Java 程序运行环境的方法; 2.了解Java 的数据类型; 3.掌握变量的声明方式; 4.理解运算符的优先级; 5.掌握Java 基本数据类型、运算符与表达式; 6.掌握Java基本输入输出方法。 二、实验环境 1.PC微机; 2.DOS操作系统或 Windows 操作系统; 3.Java sdk程序开发环境、eclipse集成环境。 三、实验内容 1.货币转换 在控制台下输入任意一个美元数值,将其转换成等价的人民币数值(假设100美元=636.99人民币)后在消息框中输出。 2.输出两个数的较大值 分别在两个对话框中输入两个任意的数值,显示其较大的数值。 四、实验步骤 1.新建Java项目,并创建package ; 2.创建两个java类文件,分别命名为 CurrencyConversion.java 和 valueCompare.java ; 3.在 CurrencyConversion.java 中写入代码: package FirstExperiment; import java.util.Scanner;

import javax.swing.JOptionPane; public class CurrencyConversion { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Please input the money(dollar): "); Scanner input = new Scanner(System.in); double moneyOfDollar = input.nextDouble(); double moneyOfRMB = moneyOfDollar * 6.3699 ; String output = "$" + moneyOfDollar + "=" + "¥" + moneyOfRMB ; JOptionPane.showMessageDialog(null, output); } } 4.在 valueCompare.java 中写入代码: package FirstExperiment; import javax.swing.JOptionPane; public class valueCompare { public static void main(String[] args) { String stringNumber1 = JOptionPane.showInputDialog("Please input the first number") ; double number1 = Double.parseDouble(stringNumber1) ; String stringNumber2 = JOptionPane.showInputDialog("Please input the second number") ; double number2 = Double.parseDouble(stringNumber2); if(number1 > number2) JOptionPane.showMessageDialog(null, number1 + " is bigger"); else

Java实验四 -实验报告

实验四类和对象;类的继承和派生;多态性; 接口;构造器应用 一、实验目的 1、掌握类与对象的关系; 2、掌握类的定义; 3、掌握对象的声明及使用; 4、掌握构造方法的概念及调用时机; 5、掌握构造方法的重载; 6、掌握匿名对象的使用。 二、实验学时 2学时 三、实验类型 验证性实验 四、实验需求 1、硬件 每位学生配备计算机一台 2、软件 Windows 7操作系统,JDK,eclipse,MySQL 3、网络 无 4、工具 无 五、实验理论与预备知识 1、类与对象的关系; 2、类的定义; 3、对象的声明及使用; 4、构造方法的概念及调用时机; 5、构造方法的重载; 6、匿名对象的使用。 六、实验内容与结果 1、编写一个应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯 形”和“圆形”。

//三角形类 class Trangle { double sidea,sideb,sidec,sjxzc,sjxmj; boolean boo; public Trangle(double a,double b,double c) { sidea=a; sideb=b; sidec=c; if(a+b>c && a+c>b && b+c>a) { boo=true; } else { boo=false; } } double getlength() { double length; length=sidea+sideb+sidec; return length; } public double getarea() { if(boo) { double area; double p=(sidea+sideb+sidec)/2.0; area=Math.sqrt(p*(p-sidea)*(p-sideb)*(p-sidec)); return area; } else { System.out.println("不是一个三角形,不能计算面积"); return 0; } } } //梯形类 class Lader

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。

二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.doczj.com/doc/f510878072.html,/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。 图1-2

实验四Java语言解决算法问题

实验四Java语言解决算法问题(4学时) 一、实验目的 (1)熟悉Java图形用户界面GUI类; (2)学习处理ActionEvent事件; (3)掌握事件源、监视器、处理事件的接口这三个概念; (4)使用Java语言解决算法问题。 二、实验学时:2学时 三、实验要求 (1)编写一个训练算术能力的测试软件; (2)Teacher类对象给出题目,判断答案是否正确;ComputerFrame类对象提供题目GUI 视图;MainClass作为主类。 四、实验原理 (1)事件源指的是能够产生事件的对象,如文本框、按钮等; (2)监视器指的是对事件源进行监视的对象,以便对发生的事件进行处理; (3)Java语言使用接口回调技术设计了它的处理事件模式。事件源增加监视的方法addXXXListener(XXXListener listener)中的参数是一个接口,listener可以引 用任何实现了该接口的类所创建的对象,当事件源发生事件时,接口listener立 刻回调被类实现的接口中的某个方法。 五、实验内容 课堂实验任务:请按模板要求,将【代码】替换为Java程序代码。 1.题目一算术测试 模板代码:Teacher.java public class Teacher { int numberOne,numberTwo; String operator=""; boolean right; public int giveNumberOne(int n) { numberOne=(int)(Math.random()*n)+1; return numberOne; } public int giveNumberT wo(int n) { numberTwo=(int)(Math.random()*n)+1; return numberTwo; } public String giveOperator() { double d=Math.random(); if(d>=0.5) operator="+"; else operator="-"; return operator; } public boolean getRight(int answer) { if(operator.equals("+")) { if(answer==numberOne+numberTwo) right=true; else right=false; } else if(operator.equals("-"))

java实验报告(全)

学生学号0120910680526 实验课成绩 武汉理工大学 学生实验报告书 实验课程名称软件工具与环境 开课学院计算机科学与技术学院 指导老师姓名付国江 学生姓名 学生专业班级软件工程0905 2011— 2012学年第1学期

实验课程名称: java语言程序设计 实验项目名称JDK安装与配置、简单的程序编写实验成绩 实验者专业班级软件0905 组别 同组者实验日期年月日第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的: 熟悉JDK的安装、配置和使用,掌握Java Application程序的基本结构。 实验内容: (1)安装JDK,并练习设置JAVA_HOME、path和classpath环境变量; (2)编写一个打印出”HelloWorld”的Java Application程序,并编译运行; 二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或 者算法描述) (1)jdk的安装 (2)”HelloWorld”的编译运行 三、主要仪器设备及耗材 个人计算机,jdk 第二部分:实验调试与结果分析(可加页) 一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)(1)jdk的安装步骤: 1:双击jdk-6u10-windows-i586.exe安装文件 2:点击接受 3:点击下一步 4:选择JRE路径 5:点击下一步 6:完成 配置环境变量: 1:右键我的电脑,找到属性,高级中的环境变量 2:点击环境变量:3:系统变量针对所有用户,这里找到系统变量中的Path 点击编辑: 3:系统变量针对所有用户,这里找到系统变量中的Path 点击编辑: 4:在变量值末尾打上分号分隔,加入JDK库路径。 点击确定,完成! 5:变量配置好后。 6:测试环境是否好 在控制台中 输入javac指令,能显示参数,说明成功。

实验四 Java 布局管理和 java的事件

Java 实验日志 指导教师实验时间:2010 年月日学院计算机专业计算机科学与技术 班级3110802 学号08600201 姓名张梦实验室S 实验题目: Java 布局管理和 java的事件 实验目的: 1. 掌握 Java语言中几种布局管理器。 2. 能熟练综合运用这几种布局管理器设计复杂的图形界面。 3. 理解事件的概念。 4. 能熟练使用 Java 提供的事件处理方法,进行符合要求的事件处理 实验要求: 结合多种布局管理器设计一个复杂的图形界面。 掌握 Java提供的各种事件接口,并能灵活使用。 实验主要步骤: 1.用BorderLayout和GridLayout布局管理器设计一个如下图所示的图形界 面: 2.在记事本编辑如下源程序: import java.awt.*; public class Ex9_1 { private Frame demoframe; private Button b1; private Button b2; private Button b3; private Button b4; private Panel cpanel; private Button b[]; public void Init() { demoframe =new Frame("布局管理器"); b1 =new Button("确定");

demoframe.add(b1,"East"); b2 =new Button("取消"); demoframe.add(b2,"West"); b3 =new Button("Hello,"); demoframe.add(b3,"North"); b4 =new Button("Java!......"); demoframe.add(b4,"South"); cpanel =new Panel(); cpanel.setLayout(new GridLayout(3,3,7,7)); demoframe.add(cpanel,"Center"); b =new Button[9]; for(int i=0;i<9;i++) { b[i] =new Button(); b[i].setSize(50,50); b[i].setLabel(Integer.toString(i)); cpanel.add(b[i]); } demoframe.pack(); demoframe.setVisible(true); } public static void main(String[] args) { Ex9_1 demo =new Ex9_1(); demo.Init(); } } 3.保存程序Ex9_1.java,编译运行程序。理解BorderLayout和GridLayout 布局管理器的用法。 运行结果: 实验结果: 运行结果: 4.结合上述例子,试编写如下图所示的图形界面:

实验04 Java输入输出流报告

实验四 Java 输入输出流 1.实验目的 (1) 掌握输入输出流的总体结构; (2) 掌握流的概念; (3) 了解各种流(包括文件流、过滤流、对象的序列化、随机访问)的使用。2.实验内容 实验题1 编写一个Java Application程序,打印命令行输入的所有参数。 [基本要求] 编写完整程序。 运行结果: 代码如下: import java.util.Scanner; public class CommandOutPut { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Please input :"); Scanner in = new Scanner(System.in);

String str = in.nextLine(); System.out.println("The output results :"); System.out.println(str); in.close(); } } 实验题2 通过键盘输入路径,搜索指定路径下的全部内容。 运行结果: 代码如下: package https://www.doczj.com/doc/f510878072.html,.output; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class Output { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String fileName = "d:\\xxx.txt"; File file = new File(fileName); byte[] b=new byte[(int)file.length()]; FileInputStream out=new FileInputStream(file);

JAVA IO流处理程序设计实验报告(附完整代码)

流处理程序设计 一、课题内容和要求 内容:设计和编写一个程序从键盘读入一行字符串,将其写入一个文本文件中,再编写另一个程序从文本文件中读入字符串并在命令行窗口显示出来。 要求:要求学生能在学习和理解课堂学习内容中JAVA流编程理论的基础上,学习并逐步掌握JAVA流程序的编写和调试,学习根据处理需求对不同流的正确选择使用和组合使用方法。 二、设计思路分析 Write.java: class Write: 将字符串从键盘输入到文件。 Read.java: class Read: 将字符串从文件输出到命令行窗口。 三、概要设计 Write.java: public class Write{ public static void main(String[] args); } Read.java: public class Read{ public static void main(String[] args); } 四、详细设计 Write.java: import java.io.*; import java.util.Scanner; public class Write { public static void main(String[] args) { File file=new File("File.txt"); System.out.print("输入一行字符串:\n"); Scanner reader=new Scanner(System.in);//输入一行字符串

String s=reader.nextLine(); try {// 异常处理 FileWriter toFlie=new FileWriter(file);//通过底层流写入文件 BufferedWriter out=new BufferedWriter(toFlie);//通过缓冲流将字符串写入底层流 out.write(s); out.close(); toFlie.close(); } catch(IOException e){ System.out.println(e); } } } Read.java: import java.io.*; public class Read { public static void main(String[] args) { File file = new File("File.txt"); try {// 异常处理 FileReader fromFile = new FileReader(file);// 通过底层流读取文件 BufferedReader in = new BufferedReader(fromFile);// 通过缓冲流从底层流读取字符串 System.out.print("文件内容:\n"); String s = in.readLine();// 输出一行字符串 System.out.print(s); in.close(); fromFile.close(); } catch (IOException e) { System.out.println(e); } } } 五、测试数据及其结果分析 1正常输入:

java实验报告4

实验报告_实验4 常用类(学生学号_姓名) 一、实验目的 1.掌握String类的基本构造方法和常用方法的使用; 2.熟悉StringBuffer类的追加、插入、查找、替换、删除等操作; 3.熟悉Math类常量及常用方法的调用; 4.熟悉包装类的功能、重要属性、主要构造器和常用方法; 5.了解StringTokenizer类的一般使用。 二、实验内容与步骤 1、(基础题)运行下列程序,并回答问题: (1) 对于String对象来说,“==”运算符与equals( )方法的功能有什么不同? “==”运算符比较两个字符串引用是否指向同一个对象。 equals( )方法在于比较两个字符串的内容是否完全相同。 (2) s1和s2是否指向同一对象?为什么? 是,因为s1和s2是字符串常量,如果用户创建了一个字符串常量,系统首先会在字符串池中查找有无相同内容的字符串存在,若有就把原有取出使用,若无则重新生成,故s1和s2指向同一对象。 (3) s3和s4是否指向同一对象?为什么? 不是,用构造器生成的字符串对象,它会在堆中生成一个对象,很明显s3和s4指向了不同的对象。 (4) s1==s3是否成立?为什么? 不成立,“==”运算符比较两个字符串引用是否指向同一个对象。很明显s1和s3指向了不同的对象。 (5) s1、s2、s3、s4的内容是否相同? 是

(6) compareTo( )方法的功能是什么?当比较结果分别为负数、正数、0 时,代表什么含义? https://www.doczj.com/doc/f510878072.html,pareTo(Str2); 其返回的是一个int类型值。若Str1等于参数字符串Str2字符串,则返回0;若该Str1按字典顺序小于参数字符串Str2,则返回值小于0;若Str1按字典顺序大于参数字符串Str2,则返回值大于0。 2、(基础题)根据程序注释,将所缺代码补充完整,然后运行程序: 程序所缺代码: String str = new String("zhangsan@https://www.doczj.com/doc/f510878072.html,"); System.out.println("字符串的长度: " + str.length()); // 输出字符串的长度 System.out.println("字符串的首字符: " + str.charAt(0));// 输出字符串的首字符 System.out.println("字符\'@\'的索引号(即下标): " + str.indexOf('@')); System.out.println("该邮箱的顶级域名(即最后一个单词): " + str.substring(https://www.doczj.com/doc/f510878072.html,stIndexOf('.')+1)); System.out.println("字符串全部以大写方式输出为: " + str. toUpperCase()); 3、(基础题)根据程序注释,将所缺代码补充完整,再运行程序:: 程序所缺代码 StringBuffer sb= new StringBuffer(“里约热内卢奥运会举行时间:”); sb.append(“8月8日晚8点”); // 在sb尾部追加"8月8日晚8点"字符串 sb.insert(sb.length()-1,” 8月5日-21日”); //在sb尾部追加"8月5日-21日"字符串 sb.replace(n, n+5,"第31届"); // 将字符串中"里约热内卢"替换为"第31届" System.out.println("字符串的长度为: "+ sb.length());// 输出字符串的长度 sb.delete(12,25); // 删除字符串中从第12个字符开始到第25个字符为止的内容

实验项目四 第2部分 Java 输入输出流

实验项目四Java 高级编程 第2部分 Java输入/输出流 [实验目的] 1、掌握java 常用输入、输出流类及其各自方法。 2、能够灵活使用java 常用输入、输出流类及其各自方法解决实际应用问题。[实验要求] 1、复习理论教学中所学的内容。 2、认真进行实验预习,查阅参考书,书写源程序,书写实验预习报告。 3、认真总结实验并书写实验报告。 [实验课时] 2学时 [实验教学方式] 学生上机实验,教师随堂指导。 [实验内容] 输入输出流 实验1学读汉字 1.模板代码 //ChineseCharacters.java import java.io.*; importjava.util.StringTokenizer; public class ChineseCharacters { publicStringBuffergetChinesecharacters(File file) { StringBufferhanzi=new StringBuffer(); try{ FileReaderinOne=【代码1】 //创建指向文件f的inOne 的对象BufferedReaderinTwo=【代码2】 //创建指向文件inOne的inTwo 的对象 String s=null; int i=0; while((s=【代码3】)!=null) //inTwo读取一行 { StringTokenizertokenizer=new StringTokenizer(s," ,'\n' "); while(tokenizer.hasMoreTokens()) { hanzi.append(tokenizer.nextToken()); } }

河南工业大学java实验四

班级计科1201 姓名: 学号201216010506 成绩 实验4—— Java的输入机制 I 实验目的 (1). Java如何操作文件 (2).了解Java中的输入机制;如何从控制台输入,如何用 InputStream和Reader显示文件中的内容。 II 实验内容 (1). 递归遍历目录,显示其中的文件名。 a.源代码 b.package com.fileTest; c. d.import java.io.File; e. f.public class BianLi { // 遍历目录,显示文件的名字 g. h./** i.* @param args j.*/ k.public static void main(String[] args) { l. m.File f = new File("D:/360安全浏览器下载"); //创建一个File对象

n.listChids(f); //调用一个列出目录的方法o. p.} q. r. s. t.public static void listChids(File f){ u. v.System.out.println(f.getName()); w. x.if(!f.isDirectory()){ //如果不是目录,退出y. z.return ; aa.}else{ bb. cc.File[] fs = f.listFiles(); dd.for(int i=0;i

jj. } kk.} ll.运行截图 (2). 用InputStream的子类读入一个英文文本文件,并用System.out显示其中的内容。 a.源代码 b.package com.fileTest; c. d.import java.io.*; e. f.public class Fileinput { g. h./** i.* @param args j.*/ k.public static void main(String[] args)throws IOException l. { m.// TODO Auto-generated method stub

相关主题
文本预览
相关文档 最新文档