java实验

java实验
java实验

学号-姓名-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实验答案解读

实验一 水仙花数: class shuixianhua {//水仙花数 public static void main(String arg[]) { int i,a,a1,b,b1,c; for(i=100;i<1000;i++) { a=i%10; a1=i/10; b=a1%10; b1=a1/10; c=b1%10; if(i==(a*a*a+b*b*b+c*c*c)) System.out.println(i); } } } 输出如下: 153 370 371 407 打印出100以内素数: public class sushu { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i,j,k=0; for(i=2;i<100;i++){ if(i==2) System.out.println(i); i++; for(j=2;j

k=1; } if(k==1) System.out.println(i); } } 求1!+2!+ (20) public class jiecheng { public static void main(String[] args) { int i,sum=0,k; for(i=1;i<=20;i++) { k=ji(i); sum=k+sum; } System.out.print(sum); } static int ji(int n) { if(n==1) return 1; else return ji(n-1)*n; } } 习题2.6 public class Test{ public static void main(String[] args)//第19题,打出图形.菱形{ int n=3; for(int i=1;i<=n;i++) { for(int k=n-1;k>=i;k--) { System.out.print(" "); } for(int j=1;j<=2*i-1;j++)//打印* {

JAVA实验报告第十二章JAVAIO

JAVA实验报告 实验单元七 【实验目的】 1、掌握java.io包中类的继承关系。 2、可以使用File类进行文件的操作。 3、可以使用字节流或字符流操作文件内容并区分出字节流与字符流的区别。 4、掌握内存操作输入/输出流的使用。 5、掌握System类堆IO的三个支持System.out,System.err,System.in。 6、了解Java提供的输入工具类Scanner类的使用。 7、可以使用打印流方便地打印输出的内容,并可以使用JAVA新特性格式化输出。 8、可以使用BufferedRead类读取缓冲区中的内容。 9、了解Java提供的输入公爵泪Scanner类的使用。 【实验环境】 安装了JDK软件的PC机。 【实验内容】 第十二章的例题和习题。 第一题(P430例12.29) 【程序功能内容说明】 实现复制功能 【实验程序原码】 import java.io.* ; public class lyz{ public static void main(String args[]){ if(args.length!=2){ System.out.println("输入的参数不正确。") ; System.out.println("例:java Copy 源文件路径目标文件路径") ;

System.exit(1) ; } File f1 = new File(args[0]) ; File f2 = new File(args[1]) ; if(!f1.exists()){ System.out.println("源文件不存在!") ; System.exit(1) ; } InputStream input = null ; OutputStream out = null ; try{ input = new FileInputStream(f1) ; }catch(FileNotFoundException e){ e.printStackTrace() ; } try{ out = new FileOutputStream(f2) ; }catch(FileNotFoundException e){ e.printStackTrace() ; } if(input!=null && out!=null){ int temp = 0 ; try{ while((temp=input.read())!=-1){ out.write(temp) ; } System.out.println("拷贝完成!") ; }catch(IOException e){ e.printStackTrace() ;

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.360docs.net/doc/a910153916.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实验一.二.三

实验一 6.编写一程序,运行后从键盘输入三个整数,输出其中的最大数。(if语句) 7.编写一程序,将从键盘输入的一个百分制考试成绩转化为五分制输出。百分

制与五分制的对应如下:(switch语句) 100~90 — A, 89~80 — B, 79~70 — C, 69~60 — D, <60 — E 实验二流程控制程序设计

一、实验目的和要求 掌握Java流程控制语句、Math类、数组的编程方法。 要求至少完成实验容题的70%。 二、实验容 1.打印一个三角形的1~9的乘法表。

2.编写一程序,将从键盘输入的每个月份数(整数)显示出其对应的英文,直至输入0结束,注意对非法数据的处理。(while,switch语句) package.itcast.test; import java.util.Scanner; public class month { public static void main(String[]args){ Scanner c = new Scanner(System.in); System.out.println("请输入月份;"); int a = c.nextInt(); switch(a){ case 1: System.out.println("January"); break; case 2: System.out.println("February"); break; case 3: System.out.println("March"); break; case 4: System.out.println("April"); break; case 5: System.out.println("May"); break; case 6: System.out.println("June"); break; case 7: System.out.println("July"); break; case 8: System.out.println("August"); break; case 9: System.out.println("September"); break; case 10: System.out.println("October"); break; case 11: System.out.println("November"); break; case 12:

Java实验三实验报告

实验报告 课程名称面向对象课程设计 实验项目名称类的继承 班级与班级代码13计算机科学与技术1班实验室名称(或课室)SS1 205 专业计算机科学与技术 任课教师尹华 学号:12251102120 姓名:林淑英 实验日期:2014 年4 月28 日 广东财经大学教务处制

姓名林淑英实验报告成绩 评语: 指导教师(签名) 年月日说明:指导教师评分后,实验报告交院(系)办公室保存。

实验三类的继承、多态、接口、访问控制符与修饰符 实验目的:通过编程练习掌握类的继承,多态,接口,访问控制符与修饰符的使用方法。 实验原理:类的继承,接口。 实验设备:计算机,Eclipse。 实验题目: 1.设计一个Person 类,其成员变量有:姓名(name)、性别(gender)、年 龄(age);再设计一个Student类,它是类Person的子类,其成员变量有:学号(id)、班名(cname)、成绩(score),类Student中要有一个方法 display(),用来显示一个学生的信息。 编写一个测试程序,创建一个Student类的对象,要求name和id 是自己的姓名和学号,输出学生的各种信息,学生的基本信息在类Student的带参数的构造方法中设定。 2.定义一个类A,该类有一个方法f,方法f可以输出英文字母,再定义 一个类B是A的子类,子类B不能重写父类A的方法f,子类有一个方法g,可以输出中文字符串。 编写测试程序,创建B的对象,输出英文字母和中文字符串。 3.定义一个坐标类Pointer,成员变量包括x和y;成员方法有: (1)构造方法 (2)setX、setY、getX、getY、display方法 (3)类方法distance用来计算两点之间的距离 编写测试程序,创建Pointer的两个对象并计算两个点坐标的距离。

Java实验题目

Java实验题目 一、 (1).编写Java应用程序,定义byte、short、int、long、float、double、char和boolean 等类型的数据并用一个输出语句输出,要求每行输出一个数据。 (2).编写Java小应用程序,输出两行字符串:“Java很有趣。”和“努力学习Java 编程。”,输出的起点坐标是(20,20),行距是50像素。 (3).使用算术运算符得到一个4位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。 (4).编写Java小应用程序,用三目条件运算符求程序中给定的4个double数的最大值和最小值并输出结果。 实验报告题:使用算术运算符得到一个4位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。 二、 1、数据类型与表达式的使用 自己编写程序测试各种运算符的使用。例如,以下程序是测试Java的数据类型:public class UseVarible { public static void main(String args []) { boolean b = true; short si = 128; int i = -99; long l = 123456789L; char ch = 'J'; float f = 3.1415925F; double d = -1.04E-5; String s = "你好!"; System.out.println("布尔型变量b="+ b); System.out.println("短整型变量si="+ si); System.out.println("整型变量i="+ i); System.out.println("长整型变量l="+ l); System.out.println("字符型变量ch="+ ch); System.out.println("浮点型变量f="+ f); System.out.println("双精度型变量d="+ d); System.out.println("字符型对象s="+ s); } } 2、数组的创建与使用 编写并运行P.23例1-5,例1-6。 3、思考与上机练习 (1). 编写Java应用程序,其中定义一个int数组(数组元素任意指定),将数组

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 课后实验三

实验三类与对象 1、(1)创建一个Rectangle类,添加两个(private)属性width与height (2)创建一个构造方法,选择width与height为形式参数。 (3)在Rectangle类中添加两个方法计算矩形的周长和面积 2、创建三角形、梯形和圆形的类封装:分别定义三角形、梯形和圆形类,要求每个类中包含构造方法、求周长及面积的方法。最后在主方法main中为三角形、梯形和圆形类创建对象并打印输出各种图形的周长及面积。(一个文件中包含三个class和main) a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean 型的属性,该属性用来判断三个属能否构成一个三角形。 b) Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。 c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的

功能。

3、编写下面程序写出运行结果,谈谈成员变量的继承与隐藏,方法的覆盖与重载。

上例内B继承了类A,在子类B中定义变量num2与父类A 同名,故在子类中父类成员变量num2被隐藏,故sum3=10+200=210;同时在子类B中父类A方法sum2()被重写(覆盖),使num2为子类定义值200,故sum4=50+200=250. 这个例子中,B是A的一个子类。其中声明了一个和父类A同名的变量num2,并定义了与之相同的方法sum2,这时在子类B中,父类的成员变量num2被隐藏,程序第25行父类的方法sum2被重载。于是子类对象所使用的变量num2为子类中定义的num2,子类对象调用的方法sum2( )为子类中所实现的方法。 4、理解下面3个类的定义,分析它们之间的关系,写出运行结果。

JAVA实验十二

实验十二:继承和多态 一、实验目的 1、掌握Java语言类的继承; 2、掌握Java方法的重载与覆盖; 3、掌握Java语言的多态性。 二、实验内容 1、运行程序观察父类与子类的初始化顺序。 class Art{ Art(){ System.out.println(“Art constructor”); } } class Drawing extends Art{ Drawing(){ System.out.println(“Drawing constructor”); } } public class Cartoon extends Drawing{ public Cartoon(){ System.out.println(“Cartoon constructor”); } public static void main(String[] args){ Cartoon cart=new Cartoon(); } } 2、调试下面的程序,指出程序运行结果,并回答下列问题 下面是一个具有继承的程序RectangleDemo.java。类V olume继承了父类Rectangle,主类是RectangleDemo。 class Rectangle{

double length; double width; Rectangle(double w, double l) { length=l; width=w; } double area(){ return length*width; } } class V olume extends Rectangle { double height; V olume(double l,double w,double h) { super(l,w); height=h; } double volume() { double vol; vol=area()*height; return vol; } double volume(double y){ return y*y*y; } } public class RectangleDemo{ public static void main (String[] args){ double result; V olume obj1=new V olume (10,20,30); result=obj1.volume ();

java实验

实验1 Java开发环境的熟悉 一、实验目的 1、掌握下载JDK 软件包、Eclipse软件的方法; 2、掌握设置Java 程序运行环境的方法; 3、掌握编写与运行Java 程序的方法; 4、了解Java 语言的概貌; 5、为学习Java 语言和进行Java 程序的实验做好准备工作。 二、实验要求 1、了解java集成开发环境jdk的结构; 2、掌握jdk的环境变量的配置,理解一个java程序的运行过程; 3、能基本上清楚java程序的组成,简单的查找一些程序错误; 4、能分辨出应用程序何小应用程序的不同,及他们在运行上的差别; 三、实验环境 1、PC微机; 2、DOS操作系统或 Windows 操作系统; 3、jdk程序集成环境Eclipse 四、实验步骤 1、先安装好jdk; 2、配置环境变量;

3、书写java程序; 注:保存在一个磁盘中便于利用dos方便查找,保存格式是所有文件格式4、运行程序,查看结果。

先利用dos对目标文件进行检测及编译,直接javac,然后没有错误之后就运用java x(x为文件名)就可以查看出运行程序。 五、实验总结 本次实验我没有利用Eclipse来进行编译及运行,我在dos系统的操作下,运行了简单的程序,开始没有熟悉java语言中的一些大小写的情况,导致尝试性的出错,然后可能是对dos系统的健忘吧,几次都没有成功的运行,后来发现时操作问题最后运行只要用java x(x为文件名)这种格式就可以了。 六、思考题 1.用java运行软件Eclipse来运行java程序 3、JDK和JRE的区别? JRK只包含了开发环境还有只是针对开发者的,而jdk有相应的开发工具、

JavaWeb 实验三

JavaWeb 实验三 一、JSP实验题: P105 例子4-1 P108 例4-2 P109 例4-3 P110例4-4 P111 例4-6 P115 例4-8 P118 例4-9 P124 例4-12 二、mysql实验题 1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); 创建score表。SQL代码如下: CREATE TABLE score ( id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT , stu_id INT(10) NOT NULL , c_name VARCHAR(20) , grade INT(10) ); 2.为student表和score表增加记录 向student表插入记录的INSERT语句如下: INSERT INTO student VALUES( 901,'张老大', '男',1985,'计算机系', '北京市海淀区'); INSERT INTO student VALUES( 902,'张老二', '男',1986,'中文系', '北京市昌平区'); INSERT INTO student VALUES( 903,'张三', '女',1990,'中文系', '湖南省永州市'); INSERT INTO student VALUES( 904,'李四', '男',1990,'英语系', '辽宁省阜新市'); INSERT INTO student VALUES( 905,'王五', '女',1991,'英语系', '福建省厦门市'); INSERT INTO student VALUES( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市'); 向score表插入记录的INSERT语句如下: INSERT INTO score VALUES(NULL,901, '计算机',98); INSERT INTO score VALUES(NULL,901, '英语', 80);

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

实验1 Java环境搭建

山西大学计算机与信息技术学院 实验报告 姓名学号专业班级 课程名称 Java实验1 实验日期 成绩指导教师批改日期实验名称实验 1 Java环境搭建及编程初步 一、实验目的 1、掌握下载J DK、UltraEdit编辑软件的方法; 2、掌握熟悉设置JAVA的运行环境; 3、掌握编写与运行简单J ava 程序的方法; 4、为学习J ava 语言和进行J ava 程序的实验做好准备工作。 二、实验要求 1、下载、安装并设置 Java SE 软件包。 2、下载并安装 UltraEdit 编辑软件。 3、编写一个简单的 Java 程序。 4、掌握运行 Java 程序的步骤。 三、实验内容 3.1JDK的下载与安装 https://www.360docs.net/doc/a910153916.html,/technetwork/java/javase/downloads/index.html 图1 Java SE Development Kit 7 Downloads Thank you for downloading this release of the Java TM Platform, Standard Edition Development Kit (JDK TM). The JDK is a development environment for building applications, applets, and components using the Java programming language. The JDK includes tools useful for developing and testing programs written in the Java programming language and running on the Java TM platform.

Java__实验三

《Java程序设计》实验报告 目录: 1题目 2目的和要求 3功能说明 4设计流程图 5源程序 6数据结果 7实验心得与体会 1、题目 用户自行定义一个异常,编程创建并抛出某个异常类的实例,运行该程序并观察执行结果。例如:用户密码的合法化验证,要求密码由4-6个数字组成,若长度不落在这个范围或不是由数字组成,抛出自己的异常。 2、目的和要求 熟悉ava的异常机制处理原理,掌握用户自定义异常类,掌握如何抛出异常、捕获并处理异常。 3、功能说明 用户密码的合法化验证,密码由4-6位数字组成,若不在范围内,则抛出“密码超出范围”,若不是数字,则抛出“密码格式错误”,输入密码正确则输出“密码是”。

— 4、设计流程图 5、源代码 import javax.swing.*; import java.awt.*; import java.awt.event.*; class passwordException extends Exception { public passwordException() { super(); } public passwordException(String s) { super(s);JOptionPane.showMessageDialog(null,s); } } public class WUXING { public static String passwordcheck()throws passwordException { String str=JOptionPane.showInputDialog(null,"输入密码:"); if(str.length()<4||str.length()>6) { throw new passwordException("密码超出范围"); } else if (!str.matches("\\d+")) { throw new passwordException("密码格式错误!!"); } return str; } public static void main(String args[]) { try{ String password = passwordcheck(); JOptionPane.showMessageDialog(null,"密码是:" + password); }catch(passwordException e){ e.printStackTrace();

JAVA例4.7-4.12及实验13-15

第十二组第二周上机报告 例4.7利用hasNextXXX()和nxtXXX()方法配合使用来完成键盘输入。用户在键盘上输入若干个数,每输入一个数需按Enter键或Tab键或空格键确认,最后在键盘上输入一个非数字字符串结束整个输入操作过程,然后计算这些数的和。 //filename App4_7.java import java.util.*; public class App4_7 { public static void main(String[] args) { double sum=0; int n=0; System.out.println("请输入多个数,每输入一个数后按Enter或Tab或空格键确认:"); System.out.println("最后输入一个非数字结束输入操作"); Scanner Reader=new Scanner(System.in); while(Reader.hasNextDouble()) { double x=Reader.nextDouble(); sum=sum+x; n++;

} System.out.print("共输入了"+n+"个数,其和是:"+sum); } } 程序运行结果及分析: 加载java.util类库里的所有类,以供后面的程序代码使用 定义相关变量的类型及初始值 用System.in创建一个Scanner对象,判断输入流中是否有双精度浮点型数据 将x读取并转换成double型数据

例4.8从键盘上输入一个正整数n,然后计算1+2+。。。。+n的结果并输出。 //filename App4_8.java import java.util.*; public class App4_8 { public static void main(String[] args) { int n,i=1,sum=0; Scanner buf=new Scanner(System.in); do{ System.out.print("输入正整数:"); n=buf.nextInt(); }while(n<=0); while(i<=n) sum+=i++; System.out.println("1+2+....+"+n+"="+sum); } }

实验四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实验

实验3 继承和多态 一、实验目的: 1、学习和使用类的继承。 2、掌握关键字super的意义和用法。 3、学习掌握类的方法覆盖技术。 4、熟悉Object类,以及它提供给子类的方法equals、toString、clone。 5、学习掌握修饰符protected和final的用法。 6、学习掌握抽象类的概念和使用方法。 7、学习掌握多态性和动态绑定的概念,学习使用多态进行程序设计。 8、学习掌握接口的概念和定义接口的方法。 9、学习使用Cloneable接口和clone方法进行对象容的复制。 10、理解浅复制和深复制的概念,掌握覆盖clone方法进行对象容深复 制的技术。 二、实验任务: 1、使用Java SDK建立一个非图形化的标准Java程序学习和使用类的继承、 掌握关键字super的意义和用法、掌握类的方法覆盖技术、熟悉Object 类,以及它提供给子类的方法equals、toString、clone、学习掌握抽象 类的概念和使用方法、学习掌握多态性和动态绑定的概念,学习使用多 态进行程序设计。程序要求: (1)首先创建一个类家族,其中抽象类几何图形类GeometricObject 为父类,圆类Circle和矩形类Rectangle为子类。几何图形类

GeometricObject中定义保护型字符串变量color,表示图形的颜 色;该类要具备构造方法和两个抽象方法findArea和 findPerimeter,抽象方法findArea求图形面积,抽象方法 findPerimeter求图形周长。 (2)Circle类和Rectangle类是GeometricObject类的子类,其中应实现父类的抽象方法。 (3)创建静态方法equalArea,用来比较图形的面积(不是以上三个类的成员方法)。方法名称如下: static boolean equalArea(GeometricObject object1, GeometricObject object2) (4)创建静态方法displayGeometricObject,用来显示几何对象的信息(不是以上三个类的成员方法)。方法名称如下: static void displayGeometricObject(GeometricObject object) (5)程序主方法中创建两个几何对象,一个圆和一个矩形,并用GeometricObject类的引用变量引用它们,调用equalArea比较两 个对象的面积是否相等,并调用displayGeometricObject方法显 示对象信息。 2、使用Java SDK建立一个非图形化的标准Java程序,进一步学习多态特 性以及接口的概念和利用接口实现多态的方法。程序要求如下: (1)首先创建圆类Circle和圆柱体类Cylinder,其中Circle类是父类,Cylinder类是子类;

相关文档
最新文档