Java课程第一次实验报告副本
- 格式:docx
- 大小:408.81 KB
- 文档页数:10
JAVA程序开发初级教程实验报告(一)实验名称:了解Java程序开发实验班级:移动151学生姓名:张昆学生学号:151021132指导教师:闫业国实验时间:2016.3.3成绩:_________批改日期:_________批改教师:_________一、实验目的:1、熟悉MyEclipse开发环境。
2、会使用输出语句在控制台输出信息。
二、实验内容:1、使用MyEclipse开发Java程序,输出学生信息。
2、使用MyEclipse开发Java程序,输出商品信息。
3、使用MyEclipse开发Java程序,输出购物系统菜单。
三、实验步骤1、使用MyEclipse开发Java程序,输出学生信息。
(1)创建项目,在项目中创建类(2)实现从控制台输入多行个人信息:姓名,年龄,性别,爱好;分多行输入,使用pringt(),结合{\n}输入信息(3)程序运行结果2.(1)创建项目,在项目中创建类(2)在控制台输入购物清单,包括商品名称,价格,购物数量和金额,使用“\n”和“\t”进行显示格式的控制(3)程序运行结果3.(1)创建项目,在项目中创建类(2)购物管理系统菜单的显示,包括“1.登录系统”和“2.退出”(3)程序运行结果四、实验总结通过这节课,我对JAVA有了初步的认识,但是在上机调试的时候还是遇到了相当多的问题。
很多的错误都很难体会,有的时候是输入的错误,这种错误还是比较容易找出来的,但是有些问题,比如一些题目需要导入一些包,这一点就没有办法了。
发现JAVA虽然看起来比C或C++要容易一点,但是由于它自身带有相当多的方法定义,这些个方法虽然不用我们自己再去编写了但是需要花相当多的时间去记忆那些方法是需要导入的。
南京信息工程大学实验(实习)报告实验(实习)名称Java的环境安装与调试实验(实习)日期10 .12 得分指导教师陈瑶系计算机专业软件工程年级 2010 班次 3 姓名丁林梅学号 201023449021、实验目的(1)掌握字面常量和符号表示常量的概念和应用(2)掌握整型,浮点型,字符型和布尔型变量的概念和应用(3)掌握数组的概念(4)理解参数传递方式(5)学会逻辑运算符,算术运算符和位运算符的使用方法。
2、实验内容及步骤(1)角谷猜想:任何一个正整数n,如果它是偶数则除以2,如果是奇数则乘以3加上1,这样得到一个新的整数,如继续进行上述处理,则最后得到的数一定是1。
编写应用程序和小程序程序分别证明:所有的3至10000的数都符合上述规则。
〈程序〉main(){import java.applet.Applet;import java.awt.Graphics;public class jiaogu extends Applet{public void paint(Graphics g){int x,n,i=10;for(x=3;x<=10;x++){n=x;while(n!=1)if(n%2==0) n=n/2;else n=n*3+1;g.drawString (x+" 符合角谷猜想!",25,25+i);i=i+15;}}}}<运行结果>(2)编写一个applet,要求输入2个整数,在状态条显示较大的数,紧跟着显示“is larger”。
若二者相等,显示“the two numbers are equa 〈程序〉main(){import java.applet.Applet;import java.awt.*;public class large extends Applet{Label lab1,lab2;TextField input1,input2;int one,two;public void init(){lab1=new Label ("输入第一个数");lab2=new Label ("输入第二个数");input1=new TextField (6);input2=new TextField(6);add(lab1);add(input1);add(lab2);add(input2);}public boolean action(Event e,Object o){int max;if(e.target == input1 || e.target == input2 ){ one=Integer.parseInt (input1.getText ());two=Integer.parseInt (input2.getText ());if(one==two)showStatus("the two numbers are equal!!");else{max=(one>two)?one:two;showStatus(max+" is larger!");}}return true;}}}<运行结果>(1)显示较大的数(2)显示两者相等(3)编写一个程序模拟同时掷2个骰子。
Java实验⼀实验报告实验⼀ Java开发环境的熟悉⼀、实验内容1. 使⽤JDK编译、运⾏简单的Java程序2.使⽤Eclipse 编辑、编译、运⾏、调试Java程序⼆、实验要求1.没有Linux基础的同学建议先学习《》《》课程2.完成实验、撰写实验报告,实验报告模板见QQ群,注意实验报告重点是运⾏结果,遇到的问题(⼯具查找,安装,使⽤,程序的编辑,调试,运⾏等)、解决办法(空洞的⽅法如“查⽹络”、“问同学”、“看书”等⼀律得0分)以及分析(从中可以得到什么启⽰,有什么收获,教训等)。
3.实验报告中统计⾃⼰的时间步骤耗时百分⽐需求分析 40min20%设计 40min20%代码实现 60min30%测试 30min15%分析总结 30min 15%4. 严禁抄袭。
三、实验步骤(⼀)命令⾏下Java程序开发1.⾸先双击桌⾯上的Xface终端图标。
2.打开终端(类似Windows下的cmd),之后会⾃动运⾏shell程序。
3.输⼊cd Code命令进⼊Code(注意C要⼤写)⽬录。
4.输⼊mkdir 20135109 命令建⽴实验⽬录,注意⽬录名⼀定是⾃⼰的学号(学号要体现在实验报告截图中),可以使⽤ls命令或dir命令查看建⽴的⽬录情况。
5.输⼊cd 20135109命令进⼊实验⽬录,再输⼊类似mkdir exp1建⽴第⼀个实验⽬录,然后输⼊cd exp1进⼊实验⼀⽬录,可以输⼊pwd命令查看当前⼯作路径。
6.输⼊gedit Hello.java(注意把代码保存到exp1⽬录中)或vim Hello.java 编辑Hello.java。
7.输⼊javac -d . Hello.java命令编译代码,输⼊java ljp.Hello命令运⾏程序。
(⼆)Eclipse下Java程序开发、调试1.在命令⾏中输⼊eclipse命令并回车或单击桌⾯上的Eclipse EE图标打开Eclipse。
2.在Eclipse中单击File->New-> Java Project新建Java项⽬。
java实验实验报告Java 实验实验报告一、实验目的本次 Java 实验的主要目的是通过实际操作和编程实践,深入理解和掌握 Java 编程语言的基本概念、语法结构、面向对象编程的思想以及常用类库的使用。
同时,培养我们解决实际问题的能力和编程思维,提高代码的质量和可读性。
二、实验环境1、操作系统:Windows 102、开发工具:IntelliJ IDEA3、 JDK 版本:18三、实验内容(一)基本语法练习1、数据类型与变量在 Java 中,我们学习了不同的数据类型,如整数类型(`int`、`long`)、浮点数类型(`float`、`double`)、字符类型(`char`)和布尔类型(`boolean`)。
通过定义和使用这些变量,我们能够存储和操作各种类型的数据。
```javaint age = 25;double salary = 500050;char grade ='A';boolean isStudent = true;```2、控制结构包括条件语句(`ifelse`、`switch`)和循环语句(`for`、`while`、`dowhile`)。
这些控制结构使我们能够根据不同的条件执行不同的代码块,或者重复执行一段代码。
```javaint num = 10;if (num > 5) {Systemoutprintln("Number is greater than 5");} else {Systemoutprintln("Number is less than or equal to 5");}switch (num) {Systemoutprintln("One");break;case 10:Systemoutprintln("Ten");break;default:Systemoutprintln("Unknown");}for (int i = 0; i < 5; i++){Systemoutprintln(i);}int count = 0;while (count < 3) {Systemoutprintln("Count: "+ count);count++;}count = 0;Systemoutprintln("Count: "+ count);count++;} while (count < 3);```(二)面向对象编程1、类与对象创建了自定义的类来表示现实世界中的实体。
实验报告( 2016 / 2017学年第1学期)课程名称Java程序设计实验名称熟悉Java程序开发环境实验时间2016 年10 月13 日指导单位计算机学院、软件学院软件工程系指导教师肖欣欣学生姓名杨永恒班级学号B15041220 学院(系) 计软院专业软件工程实验名称熟悉Java程序开发环境指导教师肖欣欣实验类型上机实验学时 2 实验时间2016.10.13一、实验目的1. 熟练掌握Java开发环境的安装和使用2. 掌握Java变量、表达式3. 熟练掌握三大控制结构,会编写相关程序二、实验环境(实验设备)1. 每位学生配备计算机一台2. 计算机需安装好JDK和Eclipse三、实验内容(将编译、运行成功后代码写入题目空白处)1. 编写一个Java应用程序,用户从键盘只能输入整数,程序输出这些整数的乘积。
package 实验;import java.util.*;public class shiyan1 {public static void main(String args[]){Scanner reader=new Scanner(System.in);int s=1;int m=0;while(reader.hasNextInt()){int x=reader.nextInt();m=m+1;s=s*x;}System.out.printf("%个数的乘积为%d\n",m,s);}}2. 编写一个Java应用程序,用户在键盘输入3个数,程序判断这3个数能构成什么形状的三角形。
package 实验;import java.util.*;public class 三角形{public static void main(String args[]){Scanner reader=new Scanner(System.in);double a=0,b=0,c=0;System.out.printf("输入a边的值:\n");a=reader.nextDouble();System.out.printf("输入b边的值:\n");b=reader.nextDouble();System.out.printf("输入c边的值:\n");c=reader.nextDouble();if(a+b>c&&a+c>b&&b+c>a){if(a*a==b*b+c*c||a*a+c*c==b*b||a*a+b*b==c*c){System.out.printf("%-8.3f%-8.3f%-8.3f构成的是直角三角形\n",a,b,c);}else if(a==b&&b==c&&a==c){System.out.printf("%-8.3f%-8.3f%-8.3f构成的是等边三角形\n",a,b,c);}else if(a*a<b*b+c*c&&a*a+c*c>b*b&&a*a+b*b<c*c){System.out.printf("%-8.3f%-8.3f%-8.3f构成的是锐角三角形\n",a,b,c);}else{System.out.printf("%-8.3f%-8.3f%-8.3f构成的是钝角三角形\n",a,b,c);}}else{System.out.printf("%-8.3f%-8.3f%-8.3f构成的不是三角形\n",a,b,c);}}}3. 编写一个Java应用程序,计算1-1/3+1/5-1/7+1/9-1/11+…的前1000项之和。
java实验报告一、实验目的本次实验旨在通过设计和实现一个简单的Java程序,来加深对于Java编程语言的理解和应用。
二、实验过程1. 环境准备在开始实验之前,需要先准备好所需的开发环境。
我选择使用Eclipse进行Java开发,因为它是一个强大且易于使用的集成开发环境。
安装完成后,我创建了一个新的Java项目,并在项目中新建了一个Java类。
2. 设计程序结构在设计程序的过程中,我首先明确了程序的功能和要实现的效果。
然后,我根据需求定义了几个类和方法,并确定它们之间的关系和调用顺序。
这有助于提高程序的可读性和模块化。
3. 编写代码接下来,我开始编写Java代码。
我首先实现了主类,并在其中定义了程序的入口方法main。
然后,我逐步实现了其他类和方法,并进行了测试和调试。
在编写代码的过程中,我注重代码的规范和风格,尽量使用可读性高的命名和注释。
4. 运行程序当代码编写完毕后,我通过Eclipse的运行按钮来启动程序。
在程序运行过程中,我注意观察程序的输出,以确保程序能够按照预期的结果执行。
如果程序出现错误或异常,我会根据错误信息进行排查和修复。
5. 进行实验验证为了验证程序的正确性和稳定性,我设计了一系列的测试用例,并分别对程序进行了测试。
我重点测试了一些边界情况和特殊情况,以确保程序能够正确地处理各种可能的情况。
在测试过程中,我还通过打印调试信息和观察程序的运行情况来帮助分析问题。
三、实验结果与分析经过多次测试和调试,我的Java程序得到了正确的结果,并且在运行过程中没有出现明显的性能问题或错误。
程序能够按照预期的要求输出结果,处理各种边界情况时也能够正确地应对。
通过本次实验,我对于Java编程语言有了更深入的理解和掌握。
我熟悉了Java的基本语法和面向对象的特性,掌握了Java程序的设计和实现方法。
我还学会了如何利用开发工具进行程序的调试和测试,提高程序的质量和可靠性。
在实验过程中,我也遇到了一些困难和挑战。
Java实验报告⼀及作业总结⼆Java实验报告实验⼀ Java开发环境与简单Java程序⼀、实验⽬的(1)熟悉JDK开发环境(2)熟练掌握结构化程序设计⽅法⼆、实验内容1. 打印输出所有的“⽔仙花数”,所谓“⽔仙花数”是指⼀个3位数,其中各位数字⽴⽅和等于该数本⾝。
例如,153是⼀个“⽔仙花数”。
2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
3. 编程求1!+2!+3!+…+20!。
4. 编写Java程序,计算8+88+888+…前10项之和。
5. ⼀个数如果恰好等于它的因⼦之和,这个数就称为完数。
编写程序输出1000以内的所有完数。
6. 编写应⽤程序,输出满⾜1+2+3+…+n<8888的最⼤正整数。
7. 使⽤for循环打印下⾯的图形。
三、实验过程1. 打印输出所有的“⽔仙花数”,所谓“⽔仙花数”是指⼀个3位数,其中各位数字⽴⽅和等于该数本⾝。
例如,153是⼀个“⽔仙花数”。
实验源码:实验结果:1533703714072. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
实验源码:实验结果:-5003.编程求1!+2!+3!+…+20!。
实验源码:实验结果:40379134.编写Java程序,计算8+88+888+…前10项之和。
实验源码:实验结果:12866086085. ⼀个数如果恰好等于它的因⼦之和,这个数就称为完数。
编写程序输出1000以内的所有完数。
实验源码:实验结果:6284966. 编写应⽤程序,输出满⾜1+2+3+…+n<8888的最⼤正整数。
实验源码:实验结果:1327. 使⽤for循环打印下⾯的图形。
四、实验总结:觉得还是要多练题,增加⾃⼰的逻辑,解决相关问题。
总结报告:⼀:类的定义:基本⽅式;public static 返回值类型⽅法名(参数类型参数名称,.......){⽅法体; return 返回值;}⽅法的三种调⽤⽅式;注意:void 只能⽤于单独调⽤;要有⼀个更重要的地⽅在学习类的定义的时候,定义成员⽅法的时候与基本⽅法不同,成员⽅法他不需要static关键字,这个要注意!熟悉代码 这⾥说明⼀下什么时候⽤什么时候不⽤static关键字:在定义成员⽅法时不⽤,即因为此时定义的⽅法将要由对象调⽤,⽽不像之前那样与主⽅法⼀起定义在⼀个类当中且由主⽅法直接调⽤。
JAVA实验报告一一、实验目的本次实验的主要目的是通过实际操作,熟悉和掌握 Java 编程语言的基本语法、数据类型、控制结构以及面向对象编程的基本概念和方法。
培养我们运用 Java 解决实际问题的能力,为今后深入学习和应用 Java打下坚实的基础。
二、实验环境1、操作系统:Windows 102、开发工具:Eclipse3、 JDK 版本:18三、实验内容(一)Java 基础语法1、变量与数据类型在 Java 中,我们学习了不同的数据类型,如整数类型(int、long)、浮点数类型(float、double)、字符类型(char)和字符串类型(String)等。
通过定义和使用这些变量,我们能够存储和处理各种类型的数据。
例如:```javaint age = 20;double salary = 50005;char gender ='M';String name ="张三";```2、运算符与表达式掌握了各种运算符,如算术运算符(+、、、/、%)、关系运算符(==、!=、>、<、>=、<=)、逻辑运算符(&&、||、!)等。
能够运用这些运算符构建表达式来进行计算和逻辑判断。
比如:```javaint num1 = 10;int num2 = 5;int result = num1 + num2;boolean isGreater = num1 > num2;```3、控制结构(1)顺序结构程序按照语句的先后顺序依次执行。
(2)选择结构包括 ifelse 语句和 switch 语句,用于根据不同的条件执行不同的代码块。
```javaint score = 80;if (score >= 60) {Systemoutprintln("及格");} else {Systemoutprintln("不及格");}int day = 3;switch (day) {case 1:Systemoutprintln("星期一");break;case 2:Systemoutprintln("星期二");break;//其他 case 情况default:Systemoutprintln("未知");}```(3)循环结构包括 for 循环、while 循环和 dowhile 循环,用于重复执行一段代码。
西华大学计算机系上机实践报告课程名称:Java 面向对象程序设计 年级:2008 上机实践成绩: 指导教师:陆园姓名:赵侨月上机实践名称:Java 语言基础 学号:312008********* 上机实践日期:2011.9.30上机实践编号: 组号:上机实践时间:16:00-17:40一、目的1、了解Java 编程基础2.、学会基本Java 程序的实现二、内容与设计思想1、我国历法中的天干、地支和生肖的排列是有规律的。
天干的顺序是“甲乙丙丁戊己庚辛壬癸”,地支的顺序是“子丑寅卯辰巳午未申酉戌亥”,生肖的顺序是“鼠牛虎兔龙蛇马羊猴鸡狗猪”。
天干、地支、生肖的计算方法非常简单:将年份减去3后除以10得到余数是几,对应于天干中的第几个;将年份减去3后除以12得到余数是几,则对应于地支中的第几个;生肖的计算方法和地支完全一致。
例如,对2006年而言,将数字2006减去3后是2003,除以10后的余数是3,对应于天干中的第三位“丙”;将2003除以12的余数是11,所以对应地支中的倒数第二位“戌”。
由此可知,2006年是“丙戌”年,生肖是“狗”。
根据以上思路,用Java 写一个程序。
程序提供一个声明形式为“public void getInfo(int year)”的方法,此方法接收一个int 类型的代表年份的数字,然后计算并打印出相关信息。
2、对于某移动通信公司的某通话服务,按如下标准收取长途通话费:基本通话费是每分钟4角钱,不足1分钟的部分则按照1分钟计算;长途通话费是每6秒7分钱,不足6秒的部分按照6秒计算。
整个长途通话费用由上述两项加起来。
编写一个Java 程序实现上面的计算。
要求:编写一个声明为“public void calcFee(int iSeconds)”的方法,该方法接收通话的秒数,然后计算出费用并显示出来。
在main 方法中调用该方法,分别将通话长度为5秒、60秒、61秒、119秒四种情况下的费用打印出来。
JAVA实验报告一JAVA实验报告一实验名称:Java基本语法练习目的:通过编写Java代码,熟悉掌握Java基本语法。
一、实验内容1. 编写一个简单的Java程序,输出"Hello, World!"。
确认Java开发环境配置正确。
2. 编写一个Java程序,实现以下计算功能:(1)定义两个整型变量a和b,并分别赋值为10和5(2)输出a与b的和、差、积、商以及余数。
3. 编写一个Java程序,实现以下判断功能:(1)定义一个整型变量x并赋值为10。
(2)判断x是否大于5并且小于15,如果满足条件则输出"x在5和15之间",否则输出"x不在5和15之间"。
4. 编写一个Java程序,实现一个简单的计算器:(1)定义两个整型变量num1和num2,并分别赋值为10和5(2)定义一个字符串变量operator,用户输入运算符("+", "-", "*", "/")。
(3)根据运算符执行相应的计算操作,并输出结果。
二、实验过程1. 编写一个简单的Java程序,输出"Hello, World!"。
```javapublic class HelloWorldpublic static void main(String[] args)System.out.println("Hello, World!");}```2. 编写一个Java程序,实现以下计算功能:```javapublic class Calculationpublic static void main(String[] args)int a = 10;int b = 5;System.out.println("a + b = " + (a + b));System.out.println("a - b = " + (a - b));System.out.println("a * b = " + (a * b));System.out.println("a / b = " + (a / b));System.out.println("a % b = " + (a % b));}```3. 编写一个Java程序,实现以下判断功能:```javapublic class Judgmentpublic static void main(String[] args)int x = 10;if (x > 5 && x < 15)System.out.println("x在5和15之间");} elseSystem.out.println("x不在5和15之间");}}```4. 编写一个Java程序,实现一个简单的计算器:```javaimport java.util.Scanner;public class Calculatorpublic static void main(String[] args)int num1 = 10;int num2 = 5;Scanner scanner = new Scanner(System.in);System.out.print("请输入运算符(+、-、*、/):"); String operator = scanner.nextLine(;switch (operator)case "+":System.out.println("num1 + num2 = " + (num1 + num2)); break;case "-":System.out.println("num1 - num2 = " + (num1 - num2)); break;case "*":System.out.println("num1 * num2 = " + (num1 * num2)); break;case "/":System.out.println("num1 / num2 = " + (num1 / num2)); break;default:System.out.println("无效的运算符");}}```三、实验结果和分析1. 编译并运行HelloWorld程序,成功输出"Hello, World!",证明Java开发环境配置正确。
java实验报告实验报告java实验报告Java一、实验目的本次实验的目的是熟悉Java语言,了解Java程序结构,掌握Java程序的开发流程,加深对Java语言特性的认识和理解。
二、实验内容本次实验内容为设计一个简单的Java程序,包括设计程序的需求分析、设计方案、编写代码、测试运行结果等环节。
三、实验分析3.1 需求分析设计一个Java程序,要求该程序能够实现以下功能:1. 用户可以输入两个数,程序可以对这两个数进行加、减、乘、除的操作,并输出运算结果。
2. 用户可以输入一个字符串,程序可以对该字符串进行反转输出。
3.2 设计方案根据需求分析,我们可以先设计一个简单的界面,包括输入框、选择运算符号的下拉框,以及一个按钮,当用户输入完毕后点击按钮即可进行相应的操作。
3.3 编写代码根据设计方案,我们先编写一个简单的界面代码:import java.awt.*;import javax.swing.*;public class Calculator extends JFrame {private JTextField text1, text2, text3;private JComboBox<String> combo;private JButton calcBtn, reverseBtn, factBtn;public Calculator() {super("Calculator");text1 = new JTextField(5);text2 = new JTextField(5);text3 = new JTextField(10);combo = new JComboBox<String>(new String[]{"+", "-", "*", "/"});calcBtn = new JButton("Calculate");reverseBtn = new JButton("Reverse");factBtn = new JButton("Factorial");JPanel panel2 = new JPanel();panel2.add(new JLabel("String:"));panel2.add(text3);panel2.add(reverseBtn);pack();setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}该界面中包含了3个面板,一个用于加减乘除,一个用于字符串反转,一个用于阶乘操作。
java实验报告总结[范本] Java实验报告总结一、实验目的本次Java实验旨在让我们更深入地理解Java语言的基础知识,包括数据类型、控制结构、数组和对象等,并提升我们的编程实践能力和问题解决能力。
二、实验内容本次实验主要涉及Java语言的基础知识,包括数据类型、控制结构、数组和对象等。
我们通过编写程序来解决一些实际问题,例如计算器的实现、排序算法的实现等。
三、实验过程1.实验准备在开始实验之前,我首先复习了Java语言的基础知识,包括数据类型、控制结构、数组和对象等,以确保我对这些知识点有清晰的理解。
然后,我查阅了相关的Java编程书籍和网上资源,了解了Java编程的基本规范和最佳实践。
2.实验实施根据实验要求,我首先编写了一个计算器程序,该程序可以执行加、减、乘、除等基本运算。
然后,我实现了一个冒泡排序算法,用于对一个整数数组进行排序。
在实现这些程序的过程中,我遇到了许多问题,例如程序出现编译错误、运行时异常等。
但是,通过查阅相关资料和请教同学,我逐渐解决了这些问题。
3.实验总结通过本次实验,我深入理解了Java语言的基础知识,掌握了Java编程的基本技能和方法。
同时,我也发现了自己在编程中存在的问题和不足之处,例如对Java语言特性的理解不够深入、编程规范不够严格等。
针对这些问题,我将在今后的学习和实践中加以改进。
四、实验心得1.深入理解Java语言特性是编写高质量Java程序的关键。
例如,在实现计算器程序时,我必须深入理解Java的运算符和表达式规范才能确保程序的正确性。
2.掌握Java编程规范是提高程序可读性和可维护性的重要途径。
例如,在实现排序算法时,我必须遵循Java编程规范中的命名规范和注释规范才能使程序更易于理解和维护。
3.良好的编程习惯是避免程序出现问题的关键。
例如,在实现程序时,我必须注意程序的异常处理和错误处理才能确保程序的稳定性和可靠性。
4.团队合作是提高编程效率和质量的重要手段。
Java实验报告学院:计算机科学与技术学院班级:软件工程班学号:姓名:一、实验名称:算术测试二、实验目的:学习处理ActionEvent事件三、实验要求:编写一个算术测试小软件,用来训练小学生的算术能力。
程序有3个类组成,其中Teacher对象充当监视器,负责给出算术题目,并判断回答者的答案者的答案是否正确。
ComputerFrame对象负责为算术题目提供视图,比如用户可以通过ComputerFrame对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;MainClass是软件的主类。
四、实验过程:package .xust.qingzhi;import java.awt.*;import java.awt.event.*;import java.util.Random;import javax.swing.*;public class MainClass {public static void main(String[] args){ComputerFrame frame;frame=new ComputerFrame();frame.setTitle("算术测试");frame.setBounds(100,100,650,180);}}class ComputerFrame extends JFrame {JMenuBar menubar;JMenu choiceGrade;JMenuItem grade1,grade2;JTextField textOne,textTwo,textResult;JButton getProblem,giveAnwser;JLabel operatorLabel,message;Teacher teacherZhang;ComputerFrame(){teacherZhang=new Teacher();teacherZhang.setMaxInteger(20);setLayout(new FlowLayout());menubar=new JMenuBar();choiceGrade=new JMenu("选择级别");grade1=new JMenuItem("幼儿级别");grade2=new JMenuItem("儿童级别");grade1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){teacherZhang.setMaxInteger(10);}});grade2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){teacherZhang.setMaxInteger(50);}});choiceGrade.add(grade1);choiceGrade.add(grade2);menubar.add(choiceGrade);setJMenuBar(menubar);textOne=new JTextField(5);//【代码1】创建textone,其可见字符长是5;textTwo=new JTextField(5);textResult=new JTextField(5);operatorLabel=new JLabel("+");operatorLabel.setFont(new Font("Arial",Font.BOLD,20));message=new JLabel("你还没有回答呢");getProblem=new JButton("获取题目");giveAnwser=new JButton("确认答案");add(getProblem);add(textOne);add(operatorLabel);add(textTwo);add(new JLabel("="));add(textResult);add(giveAnwser);add(message);textResult.requestFocus();textOne.setEditable(false);textTwo.setEditable(false);getProblem.setActionCommand("getProblem");textResult.setActionCommand("anwser");giveAnwser.setActionCommand("anwser");teacherZhang.setJTextField(textOne,textTwo,textResult);teacherZhang.setJLabel(operatorLabel,message);getProblem.addActionListener(teacherZhang); //【代码2】将teacherZhang注册为getProblem的ActionEvent事件监听器giveAnwser.addActionListener(teacherZhang);//【代码3】将teacherZhang注册为giveAnwser的ActionEvent事件监听器textResult.addActionListener(teacherZhang);//【代码4】将teacherZhang注册为textResult 的ActionEvent事件监听器setVisible(true);validate();setDefaultCloseOperation(DISPOSE_ON_CLOSE);}}class Teacher implements ActionListener {int numberOne,numberTwo;String operator="";boolean isRight;Random random; //用于给出随机数int maxInteger; //题目中最大的整数JTextField textOne,textTwo,textResult;JLabel operatorLabel,message;Teacher(){random=new Random();}public void setMaxInteger(int n){maxInteger=n;}public void actionPerformed(ActionEvent e){String str=e.getActionCommand();if(str.equals("getProblem")){numberOne=random.nextInt(maxInteger)+1;//1到maxInteger之间的随机数numberTwo=random.nextInt(maxInteger)+1;double d=Math.random(); //获取0-1之间的随机数if(d>=0.5)operator="+";elseoperator="-";textOne.setText(""+numberOne);textTwo.setText(""+numberTwo);operatorLabel.setText(operator);message.setText("请回答:");textResult.setText(null);}else if(str.equals("anwser")){String anwser=textResult.getText();try{int result=Integer.parseInt(anwser);if(operator.equals("+")){if(result==numberOne+numberTwo)message.setText("你回答正确");elsemessage.setText("你回答错误");}else if (operator.equals("-")){if(result==numberOne-numberTwo)message.setText("你回答正确");elsemessage.setText("你回答错误");}}catch(NumberFormatException ex){message.setText("请输入数字字符");}}}public void setJTextField(JTextField...t){textOne=t[0];textTwo=t[1];textResult=t[2];}public void setJLabel(bel){operatorLabel=label[0];message=label[1];}}五、实验结果:六、实验总结:通过这次的实验我学会了组件的属性和功能,还有处理组件上发生的界面事件,其中还要掌握事件源,监视器,处理事件的接口等等。