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基础实验报告

java基础实验报告

java基础实验报告Java基础实验报告引言:Java作为一种面向对象的编程语言,广泛应用于软件开发领域。

本次实验旨在通过一系列的实验任务,加深对Java基础知识的理解,并掌握Java编程的基本技巧。

实验一:Java环境搭建在本实验中,我们首先需要搭建Java开发环境。

Java开发工具包(JDK)是进行Java编程的基础,我们可以从Oracle官网上下载并安装最新版本的JDK。

安装完成后,我们需要配置环境变量,以便在命令行中能够直接运行Java相关的命令。

实验二:Java语言基础Java语言基础是进行Java编程的基石。

在本实验中,我们需要掌握Java的基本语法规则、数据类型和运算符等。

通过编写简单的程序,如计算两个数的和、判断一个数是否为素数等,加深对Java语言基础的理解。

实验三:面向对象编程面向对象编程是Java的核心特性之一。

在本实验中,我们需要学习Java中的类和对象的概念,并通过编写简单的类和对象来实现一些功能。

例如,创建一个学生类,包含姓名、年龄和成绩等属性,并实现一些与学生相关的操作方法。

实验四:异常处理异常处理是Java编程中重要的一部分。

在本实验中,我们需要学习Java中的异常处理机制,并通过编写代码来处理可能出现的异常情况。

例如,通过try-catch语句来捕获并处理用户输入非法字符的异常。

实验五:文件操作在实际的软件开发中,文件操作是非常常见的需求。

在本实验中,我们需要学习Java中的文件操作相关的类和方法,并通过编写代码来实现文件的读取和写入等功能。

例如,读取一个文本文件中的内容,并将其写入到另一个文件中。

实验六:多线程编程多线程编程是提高程序性能和效率的一种方式。

在本实验中,我们需要学习Java中的多线程编程相关的知识,并通过编写代码来实现多线程的应用。

例如,创建多个线程来同时下载多个文件,并实现进度条的显示。

结论:通过完成以上一系列的实验任务,我们对Java基础知识有了更深入的理解,并掌握了Java编程的基本技巧。

java编程实验报告

java编程实验报告

java编程实验报告Java编程实验报告引言:Java是一种广泛应用于软件开发领域的高级编程语言,具有跨平台、面向对象、安全性高等特点。

本篇文章将介绍我在Java编程实验中的实践和收获。

实验一:Hello World程序在本实验中,我学习了如何使用Java编写一个简单的Hello World程序。

通过这个实验,我了解了Java的基本语法和程序结构。

在编写过程中,我发现Java的语法规范相对严格,需要注意语句的结束符号和代码的缩进。

通过运行程序,我成功输出了"Hello World"这个简单的字符串,这让我对Java编程的基本流程和语法有了更深入的了解。

实验二:变量与运算符在本实验中,我学习了Java中的变量和运算符的使用。

通过编写程序,我实现了对不同类型的变量进行声明和赋值,并进行基本的运算操作。

在这个过程中,我发现Java的变量需要先声明后使用,而且在进行运算时需要注意数据类型的匹配。

通过这个实验,我对Java中的变量和运算符有了更深入的理解。

实验三:条件语句与循环结构在本实验中,我学习了Java中的条件语句和循环结构的使用。

通过编写程序,我实现了对不同条件进行判断,并根据不同的条件执行相应的操作。

同时,我还学习了循环结构的使用,通过循环语句实现了对一段代码的重复执行。

在这个实验中,我发现条件语句和循环结构是Java编程中非常重要的部分,能够帮助程序实现更复杂的逻辑。

实验四:数组和字符串在本实验中,我学习了Java中数组和字符串的使用。

通过编写程序,我实现了对数组和字符串的声明、赋值和操作。

在这个过程中,我发现Java中的数组和字符串是一种非常方便的数据结构,能够帮助程序处理大量的数据。

通过这个实验,我对Java中数组和字符串的使用有了更深入的了解。

实验五:面向对象编程在本实验中,我学习了Java中的面向对象编程的基本概念和使用。

通过编写程序,我实现了对类的定义、对象的创建和方法的调用。

攀枝花学院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 实验报告Java 实验报告引言:Java 是一种广泛应用于软件开发的计算机编程语言,具有跨平台、面向对象、简单易学等特点。

本实验报告将介绍我在学习 Java 过程中进行的一系列实验,包括实验目的、实验过程、实验结果和实验总结。

实验一:Hello World 程序实验目的:通过编写一个简单的 Hello World 程序,熟悉 Java 的开发环境和基本语法。

实验过程:1. 安装 Java Development Kit(JDK)并配置环境变量。

2. 使用文本编辑器编写以下代码:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```3. 将代码保存为 HelloWorld.java。

4. 打开命令提示符,切换到代码所在目录,输入以下命令编译代码:```javac HelloWorld.java```5. 输入以下命令运行程序:```java HelloWorld```实验结果:命令提示符中输出 "Hello, World!"。

实验二:数据类型和运算符实验目的:了解 Java 的数据类型和运算符,并能够正确使用它们进行计算。

实验过程:1. 声明并初始化不同类型的变量,例如整数、浮点数和布尔类型。

2. 使用算术运算符进行基本的数值计算。

3. 使用逻辑运算符进行布尔类型的操作。

实验结果:根据实验过程中的代码和输入,得到相应的计算结果。

实验三:条件语句和循环结构实验目的:掌握 Java 中的条件语句和循环结构,能够根据不同的条件执行相应的代码块。

实验过程:1. 使用 if-else 语句实现条件判断。

2. 使用 switch-case 语句实现多分支选择。

3. 使用 for 循环、while 循环和 do-while 循环实现不同的循环结构。

《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实验报告

JAVA实验报告

实验一:实验目的●学习下载最新版本的JDK。

●学习安装与设置JDK运行环境。

●解决JDK开发环境配置中的常见问题。

实验二:实验目的●了解Java应用程序的结构。

●学习Java应用程序源程序的编辑。

●学习Java源程序的编译。

●学习Java应用程序的运行。

●学习解决Java源程序编译过程中的常见问题。

实验要求编写一个比较简单的Java应用程序,该程序将会在命令提示符窗口下输出一句话:Java 世界欢迎你!实验三:实验目的●了解Java小程序的结构。

●学习Java小程序的编译、运行。

●了解Html语言中的Applet标签。

实验四:实验目的●学习标识符的命名规则。

●学习基本数据类型变量的声明。

●学习基本数据类型变量的初始化。

●明确局部变量使用前初始化的意义。

●学习常量的使用。

实验要求编写一个Java 程序,在程序中声明各种基本数据类型的变量,对它们进行初始化,再显示它们各自的值;定义一个双精度数据类型的常量,并显示它的值。

实验五:实验目的●学习算术运算符中的求模运算。

●学习算术运算符中的自增运算。

●学习算术运算符中的自减运算。

实验要求编写一个Java 程序,在程序中进行求模运算、自增和自减运算。

实验五:实验目的●学习算术运算符中的求模运算。

●学习算术运算符中的自增运算。

●学习算术运算符中的自减运算。

实验要求编写一个Java 程序,在程序中进行求模运算、自增和自减运算。

实验六:实验目的●学习算术运算符中的整数除法。

●学习算术运算符中的浮点数除法。

●学习算术运算符中的整数与浮点数混合除法。

实验要求编写一个Java 程序,在程序中进行整数除法、浮点数除法和整数与浮点数混合除法运算。

实验七:实验目的●学习逻辑运算符中的与运算。

●学习逻辑运算符中的或运算。

●学习逻辑运算符中的非运算。

实验要求编写一个Java 程序,在程序中进行与运算、或运算和非运算。

实验八:实验目的●学习字符串转换为数值型数据的方法。

●学习数值型数据转换成字符串的方法。

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语言程序设计实验报告t1.setTelenmb("123","88362146");t1.print();}}2.class gg //Student是类名{//声明成员变量int sNumber; //学号String sName; //姓名String sClass; //班号String tNumber;String password;gg(String b){password=b;}int check(String a){if(a==password)return 1;else return 0;}void settNumber(String a,String b){if(check(a)==1)tNumber=b;}String gettNumber(String a){if(check(a)==1)return tNumber;elsereturn"no permittion";}}public class zz //主类Check0{public static void main(String args[ ]) //主方法main { gg x= new gg("123"); //创建Student类的对象x//访问成员变量x.sName="myname";x.sNumber=900001;x.settNumber("123","1547942");System.out.println(x.gettNumber("123"));System.out.println(x.sName);System.out.println(x.sNumber);}}3.class Account{private int id;private String name;private float leftmoney;private String pass;public int getID() { return id;}public void setID(int iD) {id = iD;}public float getLeft() {return leftmoney;}public void setLeft(float left) {this.leftmoney = left;}public String getPass() {return pass;}public void setPass(String pass) {this.pass = pass;}public void withdrawMoney(String a,float amount){i f(a==pass){if(leftmoney>=amount){leftmoney=leftmoney-amount;System.out.println("取钱成功"+"取了"+amount+"元");}elseSystem.out.println("余额不足");}e lseSystem.out.println("密码错误");}public void saveMoney(String a,float amount ){if(a==pass){leftmoney=leftmoney+amount;System.out.println("存钱成功"+"存了"+amount+"元");}elseSystem.out.println("密码错误");}float inqury(String a){if(pass==a)return leftmoney;else return -1;}}class zz{public static void main(String args[]){Account gg=new Account();gg.setID(0245);gg.setLeft(1000);gg.setPass("123");gg.saveMoney("123",600);gg.withdrawMoney("123",700);gg.withdrawMoney("124",5000);System.out.println(gg.inqury("123"));}}4.class acfun{String name;String id;private int intgretResult;private int sports;public void setname(String a){name=a;}public void setid(String a){id=a;}public void setintgretResult(int a){intgretResult=a;} public int getintgretResult(){return intgretResult;} public int getsport(){return sports;}public void setsports(int a){sports=a;}public void print(){System.out.println("name="+name+'\n'+"id="+id +"intgretResult="+intgretResult+"sports="+sports+'\n'+"被录取");}}public class zz {static int check(int a,int b){if(a>300&&b>96)return 1;elsereturn 0;}public static void main(String args[]){acfun hh= new acfun();hh.setname("yyf");hh.setid("0245");hh.setintgretResult(400);hh.setsports(98);if(check(hh.getintgretResult(),hh.getsport())==1)hh.print();acfun x= new acfun();x.setname("sag");x.setid("3443");x.setintgretResult(70);x.setsports(70);if(check(x.getintgretResult(),x.getsport())==1)x.print(); }}五、实验结果与分析():六、教师评语:实验成绩:教师:**。

Java语言实验指导书-实验05 数组

Java语言实验指导书-实验05 数组

一、实验目的
(1)掌握数组的定义和使用力0去。

(2)熟悉数组的排序、查找等算法。

(3)掌握字符数组的使用方法。

二、实验内容
(1)编写数组的排序程序。

(2)编写折半法查找的程序。

(3)编程实现:产生一个1-12之间的随机整数,并根据该随机整数的值,输出对应月份的英文名称。

(4)编程实现:建立包含10个字符串数据的一维数组,每个字符串数据的格式为月/
日/年,例如06/25/04,将每个日期采用25th June 2004的格式输出。

三、实验要求
(1)在数组的排序程序中,随机产牛20个整数,对其按照升序进行排列,并对排序前后的数组按照每行5个数的方式输出。

(2)通过键盘输入一个数,在排序后的数组中,采用折半查找法查找该数在数组中的
位置。

如果查找到该数,输出信息:XXX:Y。

其中XXX代表待查找数,Y代表该数在数组中的位置(下标)。

(3)用赋初值的方法,将1-12月的英文月份名赋给数组元素,根据所产生的随机整数值,输出对应的数组元素值。

(4)用赋初值的方法,将10个日期格式的字符串数据赋予数组元素,然后按照指定格式输出。

java 实验5 接口多态 实验报告

java 实验5 接口多态  实验报告

实验五接口、多态与内部类实验目标:1、理解接口、塑型、多态的概念并能熟练应用;2、熟练掌握接口的定义和使用;3、深刻理解构造方法的调用顺序,理解编写时需要注意的问题;4、了解并学会使用内部类实验任务:1、继承时的多态:目测给出下面代码的执行输出结果,并简单解释每一行输出的原因。

答:首先,该程序的主函数是Vehicle v=new Vehicle();即先声明并实例化一个汽车对象,而v.test();则是调用汽车的测试方法;而test方法里,Vehicle vc=new Car();是将上面的汽车指向了一个具体的小汽车对象;Bus vb=new Bus();将公共汽车指向了一个具体的公共汽车对象;drive();调用汽车的驾驶方法;vc.drive();调用小汽车的驾驶方法;vb.drive();调用公共汽车的驾驶方法;而vc.brake();vb.brake();则是直接调用汽车的刹车方法。

因而运行结果如下:A new bus.Vehicle is drivenCar is drivenBus is drivenVehicle is brakedVehicle is braked2.针对下面的简单的类图,从面向对象的角度,将Instrument定义成接口,应怎样实现。

编写能完成如图功能的程序,并再编写一个简单的应用程序进行多态性测试。

(参考例子5-9;实验4该题是要求用抽象类来实现,在此要求用接口实现,还要进行多态性测试)说明:Instrument表示乐器、Wind表示管乐器、Percussion敲击乐器、Stringed表示弦乐器、Woodwind表示木管乐器、Brass表示铜管乐器。

要求:(1)Instrument为接口,Wind为抽象类,其他为普通类。

这里测试的目的是:我们知道当一个普通类实现一个接口时,必须实现该接口的全部方法,但当这个类是抽象类时,我们还需要实现该接口全部方法吗?如果不需要实现?那么是否直接不理这个方法就一,还是要将这个方法在自己类内部再标记一次为抽象方法。

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. 给上述程序增加测试乘、除的功能。

实验五

实验五
图5.4
(2)运行结果如图5.5所示。
图5.5
3.This、super和super()的使用
(1)程序功能:说明this、super和super()的用法。程序首先定义Point(点)类,然后创建点的子类Line(线)。最后通过LX3_4类输出线段的长度。
(2)使用this、super和super()的程序文件LX3_4.java,源代码如下图5.6所示。
多态是一种编程技巧它增加论了程序的可扩展性
2.接口有什么作用?如何实现系统接口。
接口的作用就是把使用接口的人和实现接口的人分开,实现接口的人不必要关心谁去使用,而使用接口的人也不用关心谁实现的接口,由接口将他们联系在一起。接口的用处在于整个程序段中相同类型的类有个统一的规范。
3.如何创建一个自定义接口?如何在一个类中实现这个接口?
图5.6
(3)编译并运行程序,结果如图5.7所示。
图5.7
二、类的多态性练习
1.方法的重载
方法的重载是指对同名方法的不同使用方式。
(1)程序功能:对不同的数进行排序输出。在IntSort类中定义3个同名的方法sort,
(1)编写构造方法RunDemo的重载程序文件LX3_12,源代码如下。
(2)编译并运行程序,结果如图5.4所示。
【思考题】
1.说明类的继承和多态用的一种形式,实现这种形式的方法是从现有的类建立新类,新类继承了现有类的方法和属性,同时新类又可以定义自己的方法和属性。软件复用缩自短了开发时间。继承的魅力在于能够添加基类没有的特点从而对基类进行改进。
子类继承后可以重写,也可以不重写,看需要决定。如果重写的话在实例中调用的是新写的方法,如果不重写的话在实例中调用的是父类的方法。
创建接口:public interface myFirstInterface(){
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
jb_get = new JButton("获取"); jtf_url = new JTextField("", 11); jLabelUrl = new JLabel("请输入网址");
4
jtf_filepath = new JTextField("D:/Test", 11); jLabelFilePath = new JLabel("请输入存储地址");
sinbye = true; } } } out.close(); in.close(); sin.close(); clientSocket.close(); serverSocket.close();
}catch(Exception e){} } } 客户端: package 实验五;
public static void main(String[] args) { new Test1();
}
public Test1() { initView();
}
@Override public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub if (checkInput()) {
getFilePath().equals("") || getFileName() == null || getFileName().equals("")) {
return false; } return true; }
private String getUrl() { return jtf_url.getText().toString().trim();
Socket clientSocket = null;
try{
serverSocket = new ServerSocket(5555);
System.out.println("等待对话");
clientSocket = serverSocket.accept();
System.out.println("连接成功,对话开始!");
while(true ){
if(inbye == false){
System.out.print("客户端");
inputLine = in.readLine();
System.out.println(":"+ inputLine);
if(pareToIgnoreCase("再见")==0){
}
} catch (Exception e) {
e.printStackTrace();
} finally {
5
try { if (in != null) { in.close(); }
} catch (Exception e2) { e2.printStackTrace();
} } return result; }
2
public class Test1 extends JFrame implements ActionListener { private static final long serialVersionUID = 1L;
private JPanel jPanel; private JTextField jtf_url, jtf_filename, jtf_filepath; private JButton jb_get; private JLabel jLabelUrl, jLabelFilePath, jLabelFilename;
实验地点:
一、实验目的: 1) 掌握IP地址与Inetaddress类的关系。 2) 掌握使用URL定位网络资源。 3) 掌握基于TCP和UDP协议的客户端与服务端的通信编程。
二、实验内容: 1) 编写一个程序,实现访问一个网站并将指定的一个页面保存到本地。 2) 编写一个简单的聊天程序
难度系数递增:一对一 → 一对多 → 多对多 →记录用户状态
浙江理工大学
《Java 程序设计》
实验报告
2015~2016 学年 第 2 学期 学院 班级 姓名 学号 任课教师
计算机科学与技术专业 2016 年 5 月
1
《Java 程序设计》实 验 报 告五
实验名称:Java 网络编程 所使用的工具软件及环境:
Myeclipse2015 Windows8.1
} 2、 服务器: package 实验五;
import .*;
import java.io.*;
public class ServerDemo2{
public static void main(String[] args)throws Exception{
ServerSocket serverSocket = null;
}
public static String doGet(String url) {
String result = "";
BufferedReader in = null;
try {
URL realUrl = new URL(url);
URLConnection connection = realUrl.openConnection();
}
@SuppressWarnings("resource") private boolean saveToFile(String saveHtmlMessage) {
File file = new File(getFilePath(), getFileName()); try {
byte[] bype = saveHtmlMessage.getBytes(); new FileOutputStream(file).write(bype);
BufferedReader
sin
=
new
BufferedReader(new
InputStreamReader(System.in));
boolean sinbye = false;
boolean inbye = false;
String sinputLine = null;
String inputLine = null;
}
private String getFileName() { // TODO Auto-generated method stub return jtf_filename.getText().toString().trim();
}
private boolean checkInput() { // TODO Auto-generated method stub if (getUrl() == null || getFilePath() == null || getUrl().equals("") ||
6
inbye = true; } } if(sinbye == false){ System.out.print("服务器: "); sinputLine = sin.readLine(); } if(sinbye == true && inbye == true){ break; } if(sinbye == false){ out.println(sinputLine); out.flush(); if(pareToIgnoreCase("再见")==0){
jPanel.add(jLabelFilename); jPanel.add(jtf_filename);
jb_get = new JButton("打开网址并存储文件");
jb_get.addActionListener(this); this.add(jPanel, "Center"); this.add(jb_get, "South"); this.setTitle("获取网址"); this.setSize(400, 150); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true);
connection.connect();
in
=
new
BufferedReader(new
InputStreamReader(connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
System.out.println();
Hale Waihona Puke PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),true);
BufferedReader in =
new
BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
三、设计流程图
四、源代码 1、 package 实验五;
import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.InputStreamReader; import .URL; import .URLConnection;
相关文档
最新文档