JAVA实验五
- 格式:pdf
- 大小:163.08 KB
- 文档页数:9
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开发工具包(JDK)是进行Java编程的基础,我们可以从Oracle官网上下载并安装最新版本的JDK。
安装完成后,我们需要配置环境变量,以便在命令行中能够直接运行Java相关的命令。
实验二:Java语言基础Java语言基础是进行Java编程的基石。
在本实验中,我们需要掌握Java的基本语法规则、数据类型和运算符等。
通过编写简单的程序,如计算两个数的和、判断一个数是否为素数等,加深对Java语言基础的理解。
实验三:面向对象编程面向对象编程是Java的核心特性之一。
在本实验中,我们需要学习Java中的类和对象的概念,并通过编写简单的类和对象来实现一些功能。
例如,创建一个学生类,包含姓名、年龄和成绩等属性,并实现一些与学生相关的操作方法。
实验四:异常处理异常处理是Java编程中重要的一部分。
在本实验中,我们需要学习Java中的异常处理机制,并通过编写代码来处理可能出现的异常情况。
例如,通过try-catch语句来捕获并处理用户输入非法字符的异常。
实验五:文件操作在实际的软件开发中,文件操作是非常常见的需求。
在本实验中,我们需要学习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中的面向对象编程的基本概念和使用。
通过编写程序,我实现了对类的定义、对象的创建和方法的调用。
实验报告附页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 过程中进行的一系列实验,包括实验目的、实验过程、实验结果和实验总结。
实验一: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程序设计》上机实验报告专业班级姓名学号主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)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实验五一、实验内容:从键盘上输入一行字符串。
①将字符按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,当中遇到了很多出乎意料的问题,但是在遇到问题时,我积极思考,反复调试,编程开始阶段,程序一直异常跳出,我也花了挺多时间找错误,也花了不少时间检验算法的严密性。
实验一:实验目的●学习下载最新版本的JDK。
●学习安装与设置JDK运行环境。
●解决JDK开发环境配置中的常见问题。
实验二:实验目的●了解Java应用程序的结构。
●学习Java应用程序源程序的编辑。
●学习Java源程序的编译。
●学习Java应用程序的运行。
●学习解决Java源程序编译过程中的常见问题。
实验要求编写一个比较简单的Java应用程序,该程序将会在命令提示符窗口下输出一句话:Java 世界欢迎你!实验三:实验目的●了解Java小程序的结构。
●学习Java小程序的编译、运行。
●了解Html语言中的Applet标签。
实验四:实验目的●学习标识符的命名规则。
●学习基本数据类型变量的声明。
●学习基本数据类型变量的初始化。
●明确局部变量使用前初始化的意义。
●学习常量的使用。
实验要求编写一个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实现该接口。
实验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给字符流增加缓冲区。