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 程序,在程序中进行与运算、或运算和非运算。

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

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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java实验五 组件与事件处理
【目的】 ①学习处理ActionEvent事件; ②学习处理ItemEvent事件和paint方法; ③学习使用布局类。 【内容】 1.算术测试。 实验要求: 编写一个算书测试小软件,用来训练小学生的算术能力。程序 由3个类组成,其中Teacher类对象负责给出算术题目,并判断回 答者的答案是否正确;ComputerFrame类对象负责为算术题目提 供视图,比如用户可以通过ComputerFrame类对象提供的GUI界面 看到题目,并通过该GUI界面给出题目的答案;MainClass是软件 的主类。 程序: 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 giveNumberTwo(int n) { numberTwo = (int)(Math.random() * n) + 1; return numberTwo; } public String giveOperator() { double d = Math.random(); if (d >= 0.5)
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); } }

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("-")) { if (answer == numberOne - numberTwo) right = true; else right = false; } return right; } } ComputerFrame.java import 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) {
} } MainClass.java public class MainClass { public static void main(String args[]) { ComputerFrame frame; frame = new ComputerFrame("算术测试");//创建窗口,其标题为: 算术测试 } } 实验后的练习: 1. 给上述程序增加测试乘、除的功能。 2.信号灯。 实验要求: 编写一个带有窗口的应用程序。在窗口的北面添加一个下拉列 表,该下拉列表有“”、“”和“”三个选项。在窗口的中心添 加一个画布,当用户在下拉列表选择某项后,画布上绘制相应的 信号灯。 程序: SignalCanvas.java import java.awt.*; public class SignalCanvas extends Canvas { int red,green,yellow,x,y,r; SignalCanvas() { setBackground(Color.white); } public void setRed(int r) { red=r; } public void setGreen(int g) { green=g; } public void setYellow(int y)
); } 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();
{ yellow=y; } public void setPosition(int x,int y) { this.x=x; this.y=y; } public void setRadius(int r) { this.r=r; } public void paint(Graphics g) { if(red==1) { g.setColor(Color.red); } else if(green==1) { g.setColor(Color.green); } else if(yellow==1) { g.setColor(Color.yellow); } g.fillOval(x,y,2*r,2*r); } } SignalFrame.java import java.awt.*; import java.applet.*; import java.awt.event.*; public class SignalFrame extends Frame implements ItemListener { Choice choice; SignalCanvas signal=null; String itemRed="红灯",itemYellow="黄灯",itemGreen="绿灯"; public SignalFrame() { choice=new Choice(); //创建choice choice.add(itemRed); //创建choice添加itemRed choice.add(itemYellow); //创建choice添加itemYellow choice.add(itemGreen); //创建choice添加itemGreen choice.addItemListener(this); //将当前窗口注册为choice的ItemEvent事
相关文档
最新文档