JAVA 课后实验二

合集下载

java2实验

java2实验
System.out.println(f+"!=0&&"+a+"/"+f+">5="+d); ) }
三、思考题
1.写出上面三个实验的运行结果。
2.Java 运算符的优先级与结合性是怎样的?
3.将本实验的实验内容 1 中的 long l=3615L; 改为:long l=3615;会出现什么情况?为什么? 提示:缺省的整型常量为 int 型,long 型常量后面要加 l 或 L。
二、实验内容
1.运行下面的程序,掌握变量定义与数据类型。
import java.io.*; public class SimpleTypes{
public static void main(String args[]){
byte b=055; short Nhomakorabea=0x55ff; int i=1000000; long l=3615L; char c=''c''; float f=0.23F; double d=0.7E-3;
//c=4 //d=14 //e=-14 //f=-2
double g=18.4; double h=g%4; int i=3;
//h=2.4
int j=i++; int k=++i;
//i=4,j=3 //i=5,k=5
3
System.out.println("a="+a); System.out.println("b="+b); System.out.println("c="+c); System.out.println("d="+d); System.out.println("e="+e); System.out.println("f="+f); System.out.println("g="+g); System.out.println("h="+h); System.out.println("i="+i); System.out.println("j="+j); System.out.println("k="+k); } } 3.运行下面的程序,掌握关系运算与逻辑运算 import java.io.*; public class RelationAndConditionOp2{ public static void main(String args[]){ int a=25,b=3; boolean d=a<b; //d=false System.out.println(a+"<"+b+"="+d=; int e=3; d=(e!=0&&a/e>5); System.out.println(e+"!=0&&"+a+"/"+e+">5="+d); int f=0; d=(f!=0&&a/f>5); System.out.println(f+"!=0&&"+a+"/"+f+">5="+d); d=(f!=0&a/f>5);

java实验二试验报告

java实验二试验报告

姓名学号:班级:说明:实验2(类的继承,与接口的实现)1. 编一程序,求两个正整数m、n的最大公约数。

要求程序中有两个方法,分别使用循环和递归,最后在主方法中两次求解并输出最大公约数。

截图:代码:public class gcd {public static void main(String[] args) {int a = 6, b = 9;System.out.printf("two nums:%d %d\n", a, b);System.out.println("递归: " + gcd1(a, b));System.out.println("辗转相除: " + gcd2(a, b));}public static int gcd1(int m, int n){return m % n == 0 ? n : gcd1(n, m%n);}public static int gcd2(int m, int n){while(n != 0){int t = m;m = n;n = t % n;}return m;}}2. 使用类编写程序(在程序中定义类,然后在主方法中创建类的对象,并调用该类中的方法,观察所得结果。

)截图:代码:public class Date {public static void main(String[] args) {Date d = new Date();System.out.println(d);d.setYear(2011);d.setMonth(10);d.setDay(3);System.out.println(d);}public Date(){}public Date(int y, int m, int d){year = y; month = m; day = d;}public void setYear(int new_year){ this.year = new_year;} public void setMonth(int m){ this.month = m; }public void setDay(int d){ this.day = d; }public String toString(){return new String("" + year + "/" + month + "/" + day);}public int year = 2000, month = 1, day = 1;}3. 编写一个包含圆类的程序,并为圆类设计几个构造方法,编译并运行它。

java实验2实验报告

java实验2实验报告

reader=new Scanner(System.in); standard=reader.nextLine(); }while(!"no".equals(standard)); } } 四、运行结果与测试分析 1.程序分析: 首先,在 TestException 这个类中除了 main 方法和一个无参数构造函数之外,还有另外 3 个方法:testEx()、testEx1()和 testEx2()。它们的返回值都是布尔型,且都可能抛出异 常。程序从 main 方法开始执行,首先创建了一个 TestException 类的对象 testException1, 然后进入 try 语句块,用对象 testException1 调用函数 testEx,程序开始执行 testEx 函 数的函数体。在函数 testEx 的 try 块中调用了函数 testEx1,于是又转向执行 testEx1 的 函数体,但在它的 try 块中又调用了 testEx2(),于是程序转向执行 testEx2 的函数体。 在 testEx2 的 try 块中的 for 循环中,前两次循环正常执行,分别输出 i=2 和 i=1,但第 三次循环时出错(出现了除数 i 为 0 的情况),抛出异常并被本函数中的 catch 语句捕获, 输出“testEx2,catch exception”,把 ret 的值赋成 false,并抛出原异常,但在离开本 函数之前还要执行 finally 中的语句,于是输出“testEx2,finally; return value=false” 并返回 ret 的值 false,由于 finally 语句中使用了 return 语句,所以导致异常丢失,接 着程序返回 testEx2 的调用者 testEx1 中,由于 testEx2 的返回值为 false,故 testEx1 中的 ret 为 false,if 语句条件为真,返回 false,但在离开 testEx1 之前,要执行 finally 中的语句,于是输出“testEx1,finally; return value=false”并返回 ret 的值 false (由于 finally 语句中使用了 return 语句,所以 try 区域中 return 语句的返回值被覆盖)。 流程转到 testEx 中,由于 testEx1 返回 false,故 testEx 中的 ret 为 false,接着执行 finally 中的语句,输出“testEx,finally;return value=false”并返回 ret 的值 false。 接着流程返回到 main 函数中,程序正常结束。运行结果截图如下:

Java语言实验报告二答案

Java语言实验报告二答案

《Java语言与面向对象程序设计基础》课程实验报告二姓名:****学号:******************实验题1[实验要求]给以下程序添加输出语句,以显示各种参数值及其传递关系画出参数传递的内存图[实验程序]public class Ex2_1 {public static void main(String[] args){MyDate m1 = new MyDate(1, 9, 1966);MyDate m2 = m1.addDays(7);m2.print();}}源文件:MyDate.javapublic class MyDate {private int day = 1;private int month = 1;private int year = 2000;public void print(){System.out.println( day + "-" + month + "-" + year);}public MyDate(int day, int month, int year) {this.day = day;this.month = month;this.year = year;}public MyDate(MyDate date) {this.day = date.day;this.month = date.month;this.year = date.year;}public MyDate addDays(int date) {MyDate n= new MyDate(this);n.day = n.day + date;return n;}[运行结果][实验结论与收获]了解了什么是类、类基本格式,对象以及构造方法实验题2[实验要求]修改程序,使得在子类中可以对两个f分别进行赋值和显示操作记录调试过程、步骤、程序和运行结果[实验程序]class Parent{public int f;public void setF(int a){ f=a; }public int getF( ) { return f; }}public class Child extends Parent{public int f;public double d;public static void main(String [] args){Child c = new Child();c.f=100;c.setF(30);System.out.println(" Parent: " + c.getF());System.out.println(" Child: " + c.f);}}[运行结果][实验结论与收获]学会修改程序,分别对F进行赋值和显示操作实验题3[实验要求]完成程序,使用super创建重写的方法调试并记录结果[实验程序]public class Employee {public String name="zhang";public double salary=2000;public String getDetails() {return " Name:" + name + "\n" + " Salary:" + salary;}}public class Manager extends Employee {public String department="Office";public String getDetails() {return super.getDetails() + "\n" + " Department: " + department;}}public class Ex2_3{public static void main(String args[ ]) {Employee e = new Employee();Manager m = new Manager();System.out.println("Employee:"+"\n" +e.getDetails());System.out.println("Manager:"+"\n" +m.getDetails());}}[运行结果][实验结论与收获]学会super的创建使用方法实验题4[实验要求]修改并完成程序说明程序错在哪里,如何修改调试并记录结果[实验程序]class Parent {public void doSomething() { }}class Child extends Parent {public void doSomething() { }}public class Ex2_4 {public static void main(String args[]) { Parent p1 = new Parent();Parent p2 = new Child();p1.doSomething();p2.doSomething();}}[运行结果][实验结论与收获]错误出在private void doSomething() { }修改正确的public void doSomething() { } 调试语句public static void main(String args[]) {实验题5[实验要求]执行程序记录程序结果[实验程序]class Count {public static int counter;static {counter = 100;System.out.println("in static block!");}}public class Ex2_5 {public static void main(String[] args) {System.out.println("counter = "+ Count.counter);}}[运行结果][实验结论与收获]执行程序得到正确结果实验题6[实验要求]将程序1 Parent类和程序2 Child类存于同一包(目录)中,并调试程序,记录结果。

JAVA 实验二报告

JAVA 实验二报告

§2.2 Java程序设计结构§2.1.1实验目的、内容及性质1、掌握Java语言基础知识如变量、编程基本结构。

2、数组的使用实验性质:验证、必做实验学时:4学时§2.2.2问题及思考1、字符串和字符如何区别?常见的转义字符有那些?2、变量按作用域可以分为那几类?3、说明java 语言中的数据类型以及基本数据类型的默认值。

类型转换规则。

4、数组如何定义,如何初始化?基本数组的一些算法?如查找、排序等§2.2.3实验指导1、选择结构示例(1)if语句(2)switch结构2、循环结构示例(1)for语句(2)while语句3、数组示例§2.2.4实践编程编写以下程序1、显示星期几对应的英文字符串。

用week表示星期几,可用switch语句将week转换成对应英文字符串,week为整型数据由用户输入。

用户输入参考:import java.util.Scanner;public class StandardIO{public static void main(String[] args) {Scanner scan=new Scanner(System.in);String s=scan.next(); //输入一个字符串int x=scan.nextInt();//输入一个整形数字double d=scan.nextDouble();//输入一个double}}程序:import java.util.Scanner;public class Word1 {public static void main(String[] args) {Scanner scan =new Scanner(System.in);System.out.println("请输入一个数字:");int week=scan.nextInt();//输入一个整形数字switch (week){case 1: System.out.println("Monday");break;case 2: System.out.println("Tuesday");break;case 3: System.out.println("Wedensday");break;case 4: System.out.println("Thurday");break;case 5: System.out.println("Friday");break;case 6: System.out.println("Saturday");break;case 7: System.out.println("Sunday");break;}scan.close();}截图:2、计算输出Fibonacci前20序列。

java实验二附答案

java实验二附答案

Java实验二实验二类与对象实验目的1、掌握面向对象程序设计的方法和Java作为面向对象程序设计语言的特点;2、掌握修饰符和构造方法的使用规则;3、掌握接口的特点、结构、调用和继承;4、掌握如何创建包,通过包如何管理类;5、掌握Java的继承机制和实现多态的方法实验内容(1)定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。

SetRecord赋值学号、姓名和成绩,GetRecord通过学号得到考生的成绩。

通过实例验证编程无误。

(2)定义一个接口Area,其中包含一个计算面积的抽象方法calculateArea(),然后设计Circle和Rectan两个类实现这个接口的方法calculateArea(),分别计算圆和矩形的面积。

通过实例验证编程无误。

(3)假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均分超过80分才能够通过。

根据上述要求,请完成以下Java类的设计:(i)设计一个基类Student描述学生的共同特征。

(ii)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。

(iii)设计一个描述研究生的类Graduate,该类继承并扩展Student类。

(iv)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息附实验一名称是Java语言基础实验报告分为以下几个部分一实验名称二实验目的三实验仪器四实验步骤(把你的操作一步一步写清楚,java 程序代码要写)五实验结果(程序运行后的结果就是DOS环境下运行出来的结果写在实验报告上)六实验讨论(实验过程中的错误及如何改正,你的心得体会等)答案:(1)定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。

java实验报告实验2答案

java实验报告实验2答案

实验二熟悉Applet,GUI编程实验目的:本实验旨在巩固同学们对上课所讲Applet,异常处理,java的控制加深理解,图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,对java的语法和编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。

了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。

实验内容:创建一个java项目,命名为experiment2。

(如何创建项目参考《实验一》的项目创建方法。

)(一)创建图形用户界面图形用户界面(Graphic User Interface ,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。

组件(Component)是构成GUI的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。

组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。

通过容器的add方法把组件加入到容器中。

1.在Applet中添加标签、按钮并使用网格布局(1)程序功能在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。

(2)编写LX6_1.java 程序文件,源代码如下:import java.awt.*;import java.applet.Applet;public class LX6_1 extends Applet{Label l1;Button b1, b2, b3, b4, b5, b6;public void init(){setLayout(new GridLayout(3,3)); // 设置网格布局(3 行3 列共9 个网格)l1=new Label("标签1");b1 = new Button("按钮1");b2 = new Button("按钮2");b3 = new Button("按钮3");b4 = new Button("按钮4");add(l1);add(b1);add(b2);add(b3);add(new Label());add(b4);add(new Button("按钮5"));add( new Button("按钮6"));add(new Label("标签2"));}}(3)编译程序LX6_1.java。

Java2实用教程(第三版)实验指导与习题解答

Java2实用教程(第三版)实验指导与习题解答

Java2实用教程(第三版)实验指导与习题解答Java 2实用教程(第三版)实验指导与习题解答清华大学出版社(编著耿祥义张跃平)实验模版代码及答案建议使用文档结构图(选择Word菜单→视图→文档结构图)1上机实践 1 初识JAVA ................................................................................................................. 4 实验 1 一个简单的应用程序.................................................................................................... 4 实验 2 一个简单的JAVA APPLET程序...................................................................................... 4 实验 3 联合编译 (5)上机实践 2 基本数据类型与控制语句 ........................................................................................ 6 实验1 输出希腊字母表 ............................................................................................................ 6 实验 2 回文数 . (7)实验 3 猜数字游戏.................................................................................................................... 9 上机实践 3 类与对象.................................................................................................................. 10 实验 1 三角形、梯形和圆形的类封装................................................................................... 10 实验2 实例成员与类成员 ...................................................................................................... 13 实验3 使用*****语句与IMPORT语句 ............................................................................ 15 上机实践4 继承与接口.............................................................................................................. 17 实验1 继承..............................................................................................................................17 实验 2 上转型对象.................................................................................................................. 20 实验3接口回调 (22)上机实践 5 字符串、时间与数字.............................................................................................. 24 实验 1 STRING类的常用方法.................................................................................................. 24 实验 2 比较日期的大小 ..........................................................................................................25 实验 3 处理大整数.................................................................................................................. 26 上机实践 6 组件及事件处理...................................................................................................... 27 实验1 算术测试......................................................................................................................27 实验 2 信号灯 (30)实验 3 布局与日历.................................................................................................................. 32 上机实践7 组件及事件处理2 ................................................................................................... 36 实验1 方程求根 . (36)实验 2 字体对话框.................................................................................................................. 39 实验 3 英语单词拼写训8 多线程 (46)实验 1 汉字打字练习 .............................................................................................................. 46 实验2 旋转的行星.................................................................................................................. 48 实验 3 双线程接力.................................................................................................................. 52 上机实践9 输入输出流.............................................................................................................. 55 实验1 学读汉字. (55)实验 2 统计英文单词字 .......................................................................................................... 58 实验2 读取ZIP文件 (62)2上机实践10 JAVA 中的网络编程 ............................................................................................ 63 实验1 读取服务器端文件 (63)实验 2 使用套接字读取服务器端对象................................................................................... 65 实验3 基于UDP的图像传输 ................................................................................................ 68 上机实践11 数据结构................................................................................................................ 72 实验 1 扫雷小游戏.................................................................................................................. 72 实验 2 排序与查验 3 使用*****排序 ...................................................................................................... 78 上机实践12 JAVA SWING .......................................................................................................80 实验 1 *****DPANE分层窗格 ............................................................................................ 80 实验2 使用表格显示日历 (81)实验 3 多文档界面(MDI) (84)3上机实践1 初识Java实验1 一个简单的应用程序1.答案:【代码1】:System.out.println(\你好,很高兴学习Java\【代码2】:System.out.println(\2.模板代码Hello.javapublic class Hello {public static void main (String args[ ]) {【代码1】//命令行窗口输出\你好,很高兴学习Java\ A a=new A(); a.fA(); } } class A {void fA() {【代码2】//命令行窗口输出\ } }实验2 一个简单的Java Applet程序1.答案:【代码1】:g.drawString(\这是一个Java Applet 程序\【代码2】:g.drawString(\我改变了字体\2.模板代码FirstApplet.javaimport java.applet.*;4import java.awt.*;public class FirstApplet extends Applet {public void paint(Graphics g) {g.setColor(Color.blue);【代码1】//在Java Applet中绘制一行文字:“这是一个Java Applet 程序” g.setColor(Color.red);g.setFont(new Font(\宋体\【代码2】//在Java Applet中绘制一行文字:“我改变了字体” } }实验3 联合编译1.答案:【代码1】:System.out.println(\你好,只需编译我\【代码2】:System.out.println(\【代码3】:System.out.println(\【代码4】:System.out.println(\ C\2.模板代码模板1:Hello.javapublic class MainClass {public static void main (String args[ ]) {【代码1】//命令行窗口输出\你好,只需编译我\ A a=new A();a.fA(); B b=new B();b.fB(); } }模板2 :A.javapublic class A {void fA() {【代码2】//命令行窗口输出\ } }5。

Java实验二实验报告

Java实验二实验报告

本科学生实验报告(二)姓名学院计算机科学学院专业计算机科学与技术班级实验课程名称Java面向对象设计试验时间2012年10 月14日指导教师及职称实验成绩开课时间2012—2013学年第一学期实验管理中心印制实验题目类与对象小组合作是○否⊙姓名班级学号一、实验目的1、熟悉Java面向对象程序设计的基本思想。

2、掌握类与对象的定义及使用方法。

3、掌握package语句与import语句的用法。

4、掌握java 继承中父类及其子类的定义方法。

5、掌握子类重写父类同名方法的方法。

6、掌握用法。

二.实验环境JDK1.6和Eclipse3.4.1开发环境三、实验内容与步骤一、分别定义三角形、梯形和圆形类,要求每个类中包含构造方法、求周长及面积的方法1、程序代码如下class Trangle {double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a,double b,double c){sideA=a;sideB=b;sideC=c;//参数a,b,c分别赋值给sideA,sideB,sideCif(a+b>c&&a+c>b&&c+b>a) //a,b,c构成三角形的条件表达式{boo=true; //给boo赋值。

}else{boo=false; //给boo赋值。

}}double getLength(){if(boo){length=sideA+sideB+sideC;return length;}else{System.out.println("不是一个三角形,不能计算周长");return 0;}//方法体,要求计算出length的值并返回}public double getArea(){if(boo){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;}}public void setABC(double a,double b,double c){sideA=a;sideB=b;sideC=c; //参数a,b,c分别赋值给sideA,sideB,sideCif(a+b>c&&a+c>b&&c+b>a) //a,b,c构成三角形的条件表达式{boo=true; //给boo赋值。

《Java语言程序设计》实验报告二

《Java语言程序设计》实验报告二

《Java技术》实验报告—实验(二)实验室:C207 2018 年10 月13日6.以'R'开头的事务表示这是一个到货单记录,在'R'后面是Item number和它的数量Quanlity。

处理一条到货单意味着增加库存中相应货物的数量(增加的数量=到货单中的数量)。

注意:如果在Transactions.txt文件中,到货单出现在发货单之后,到货单中的货物数量可以用来填补发货单中的数量(可以理解成在Transactions.txt中,优先处理到货单)。

7.以'A'开头的事务表示向库存中增加一种新的货物(即这种货物以前库存中没有),在'A'后面是Item number,供应商supplier以及货物的描述description。

处理一个新增货物记录意味着向库存中增加一个数量Quantity为0的新的Item。

你可以假设在一个Transactions.txt 中,新增货物记录总是出现在第一个到货单之前。

8.以'D'开头的事务表示从库存中删除一种货物,在'D'后面是Item号。

删除操作总是在所有的事物处理之后才被处理,以保证对于可能出现的同一种货物的发货单的操作能在删除之前被正确处理。

如果要删除的某种货物的库存量Quantity不为0的话,系统应该向Errors.txt记录出错信息。

9.文件Shipping.txt中的每一行代表给某一客户的发货信息。

Shipping.txt中的每一行分别是客户编号、Item号、货物数量,它们之间用tab键分隔。

如果发货单中有两条客户编号和Item 编号一样的记录,在Shipping.txt中应该将这两条发货信息合并(即将它们的数量相加)。

10.Errors.txt文件包含未发送的发货记录和库存量大于0的删除记录。

Errors.txt每一行包含Custom编号、Item编号以及发货单上的数量Quantity。

Java课程第二次实验报告

Java课程第二次实验报告

实验报告(2015 / 2016 学年第 2 学期)课程名称JAVA语言程序设计实验名称Java方法和数组的使用、类和对象实验时间年月日指导单位指导教师学生姓名学院(系)班级学号专业实验名称Java方法和数组的使用、类和对象指导教师朱艳梅实验类型上机实验学时2实验时间2016-4-21一、实验目的1.复习三大控制结构,会编写相关程序2.熟练掌握 java 方法的编程3.学会使用 java 的数组4.掌握类的基本概念,会编写简单的类二、实验环境 ( 实验设备 )1.每位学生配备计算机一台2.计算机需安装好 JDK 和 JCreator三、实验内容1.编写程序,打印出 100~999 中所有的“水仙花数”。

所谓“水仙花数”是指一个 3 位数,其各位数字的立方和等于该数本身。

例如:153 是一个“水仙花数”,因为153=13+53+33。

要求定义一个方法:public static boolean judge(int n):用于判断 n 是否是水仙花数;按下面结构完成本程序:public class ShuiXianShu{public static boolean judge(int n){...}public static void main(String args[]){...}}程序:package水仙花数;public class Flower {public static void main(String[] args) {//TODO自动生成的方法存根 int i=0;for (i=100;i<=999;i++){if ( judge (i)){System. out .printf("%d " ,i);}}}public static boolean judge( int n){int a,b,c;a = n%10;b = (n/10)%10;c = (n/100)%10;if (n==a*a*a+b*b*b+c*c*c)return true ;elsereturn false;}}运行结果:2.求斐波那契数列的第 n 项, n 从键盘输入。

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实验报告Y.Daninel.Liang实验二

java实验报告Y.Daninel.Liang实验二

2014-2015学年第一学期实验报告课程名称:Java EE 平台技术实验名称:JA VA编程(基础练习)目录一、实验目的 (4)二、实验内容 (4)2.1 编写一个各位随机数计算器。

(4)2.2 输出收入50000-60000之间的人的交税表。

(4)2.3 计算两个数的最小公倍数。

(4)2.4 创建类并测试 (4)2.4.1 创建矩形类并测试。

(4)2.4.2 创建时间类并测试。

(4)三、实验环境 (4)四、实验结果 (4)4.1随机数计算器 (4)4.2交税表 (4)4.3最小公倍数 (4)4.4. 创建类 (5)4.4.1 创建矩形类 (5)4.4.2 创建时间类 (5)五、附录 (5)5.1 问题分析 (5)5.1.1 随机数计算器 (5)5.1.2 交税表 (5)5.1.3 最小公倍数 (5)5.1.4 创建类 (5)5.1.4.1 矩形类 (5)5.1.4.2 时间类 (5)5.2 设计方案 (5)5.2.1 随机数计算器 (5)5.2.2 交税表 (5)5.2.3 最小公倍数 (5)5.2.4 创建类 (5)5.2.4.1 矩形类 (6)5.2.4.2 时间类 (6)5.3 算法 (6)5.3.1 随机数计算器 (6)5.3.2 交税表 (6)5.3.3 最小公倍数 (6)5.3.3.1 求质因数 (6)5.3.3.2 求最小公倍数 (7)5.3.4 创建类 (8)5.3.4.1 矩形类 (8)5.4. 设计图 (8)5.4.1 矩形类UML设计图 (8)5.4.2 时间类UML设计图 (9)5.5 仿真结果 (9)5.5.1 随机数计算器 (9)5.5.2 交税表 (10)5.5.3 最小公倍数 (10)5.5.4.1矩形类 (11)5.5.4.2 时间类 (12)5.6 调试心得 (12)5.6.1 错误分析 (12)5.6.2 心得与收获 (12)一、实验目的通过使用JA V A语言进行基本程序的开发,掌握JA V A通用IDE,练习类的封装使用、JA V A基本类库的使用、利用UML进行简单建模。

Java实验二

Java实验二

《JAVA2程序设计》实验报告班级: B07514 伙伴:实验名称:企业内部员工通讯录一实验目的:1.学会创建对象类及操作类。

2.完成对数据类属性的封装。

3.掌握继承的使用。

4.定义接口类并实现接口。

二实验内容:1.编写一个员工类,一个员工操作类和一个测试类。

其中员工类中包含员工的基本信息:编号(主键,只读),姓名,性别,密码,年龄,联系电话,职称,职务,电子邮件,以及构造函数和对这些信息进行操作的get和set函数。

员工操作类中包括对员工信息的增、删、查、改四个方法,在增加员工信息的方法中,写存根程序模拟添加的过程,并在test测试类中进行测试。

2.在1的基础上,编写一个经理类继承员工类,除具有员工基本信息外,还有:任职部门,主管信息,创建一个接口,并且使员工类和经理类都实现这个接口。

其中接口中有四个抽象方法:增、删、查、改。

3.模拟现实进行按条件查询,查询结果存放在Vector的对象中,在Test类中进行测试。

三实验步骤:代码1.员工信息类Emppackage com.nciae.juan.objectpublic class Emp {private int eno; //编号private String ename; //姓名private String esex; //性别private String epas; //密码private int age; //年龄private String etel; //联系电话private String epn; //职称private String epos; //职务private String email; //电子邮件public String getEname() {return ename;}public void setEname(String ename) { this.ename = ename;}public String getEsex() {return esex;}public void setEsex(String esex) { this.esex = esex;}public String getEpas() {return epas;}public void setEpas(String epas) { this.epas = epas;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getEtel() {return etel;}public void setEtel(String etel) { this.etel = etel;}public String getEpn() {return epn;}public void setEpn(String epn) { this.epn = epn;}public String getEpos() {return epos;}public void setEpos(String epos) { this.epos = epos;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public int getEno() {return eno;}public Emp(String ename,String esex,int age,String epn,String epos,String etel,String email,String epas){super();this.age = age;this.email = email;this.ename = ename;this.epas = epas;this.epn = epn;this.epos = epos;this.esex = esex;this.etel = etel;}}2.经理类Managerpackage com.nciae.juan.object;public class Manager extends Emp {private String bumen; //主管部门private String content; //主管内容public Manager( String ename,String esex,int age,String epn, String epos,String etel, String email, String epas,String bumen,String content) {super(ename,esex,age,epn, epos, etel, email,epas);// TODO Auto-generated constructor stubthis.bumen=bumen;this.content=content;}public String getBumen() {return bumen;}public void setBumen(String bumen) {this.bumen = bumen;}public String getContent() {return content;}public void setContent(String content) {this.content = content;}}3.员工操作类EmpSyspackage com.nciae.juan.dao;import java.util.Vector;import com.nciae.juan.interfaces.Basedao;import com.nciae.juan.object.Emp;import com.nciae.juan.object.Manager;public class EmpSys implements Basedao{private static final String Emp = null;public boolean delete(int eno) {return false;}public boolean add(Object obj){if(obj instanceof Manager){Manager manager=(Manager)obj;String sq2="insert intoManager(ename,esex,epas,eage,etel,epn,epas,email,bumen,content)" +"values('"+manager.getEname()+"','"+manager.getEsex()+"','"+manager.getEpas()+"',"+manager.getAge()+",'"+manager.getEtel()+ "',"+manager.getEpn()+"','"+manager.getEpas()+"','"+manager.getEmail ()+"')"+manager.getBumen()+"','"+manager.getContent()+"')";System.out.println(sq2);return false;}if(obj instanceof Emp){Emp emp=(Emp)obj;String sql="insert intoEmp(ename,esex,epas,eage,etel,epn,epas,email) "+"values('"+emp.getEname()+"','"+emp.getEsex()+"','"+emp.getEpas ()+"',"+emp.getAge()+",'"+emp.getEtel()+"',"+emp.getEpn()+"','"+emp.getEpas()+"','"+emp.getEmail()+"')";System.out.println(sql);return false;}return false;}@Overridepublic Vector search(Object obj) {Vector vec=new Vector();for(int i=0;i<10;i++){Emp emp=newEmp("xiaoming","nv",20,"jiangshi","fuzhuren","123","f@123","456");vec.add(emp);}return vec;}@Overridepublic boolean update(Object oldobj, Object newobj) { Emp empold=(Emp)oldobj;}}4.接口类Basedaopackage com.nciae.juan.interfaces;import java.util.Vector;public interface Basedao {boolean add(Object obj);boolean delete(int eno);boolean update(Object oldobj,Object newobj);}5.测试Testpackage com.nciae.test;import java.util.Vector;import com.nciae.juan.dao.EmpSys;import com.nciae.juan.object.Emp;import com.nciae.juan.object.Manager;public class Test {public static void main(String args[]){Emp emp1=new Emp("zhangsan","男",23,"讲师","主任","7882345","a@132","123");EmpSys empsys=new EmpSys();Manager manager=newManager("lisi","nv",22,"fujiaoshou","fuzhuren","333","jj@134d","dd" ,"jisuanji","wangluo");empsys.add(emp1);Vector vect=new Vector();Object obj=null;vect=empsys.search(obj);for(int i=0;i<vect.size();i++){Emp emp2=(Emp)vect.get(i);System.out.println(emp2.getEname());}}}执行结果四遇到问题和解决方法:本次实验遇到的最主要的问题是如何连接数据库,在和同学的探讨中,我理解到连接数据库的实质即用java语言表示sql环境下的命令语句。

Java实验报告_实验二

Java实验报告_实验二

Java实验报告_实验⼆实验2 类和对象【实验宗旨】每天做⼀点编程练习。

【实验⽬的】1、学习和掌握Java创建对象的⽅法。

2、学习和掌握通过创建对象、使⽤类的⽅法。

3、学习和掌握Java类定义的⽅法。

4、了解类设计的⼀般原则。

【实验内容】1、(Java API类的应⽤)使⽤java.util.Random类,创建种⼦是1000的Random对象,然后使⽤nextInt(100)⽅法显⽰0到100 之间前50个随机整数。

【实验预习】创建Random对象,含有1000个种⼦,然后输出其中的前50个⽆输⼊,创建Random random = new Random(1000);利⽤for循环输出前50的随机数。

【实验过程及结果记录】import java.util.Random;public class JavaText {public static void main(String[] args) {Random random = new Random(1000);for (int i = 0; i < 50; i++)System.out.print(random.nextInt(100) + " ");}}【实验总结】练习产⽣随机数的⽅法(Random).2.(使⽤StackOfIntegers类,显⽰素数因⼦)编写⼀个程序,提⽰⽤户输⼊⼀个正整数,然后以降序显⽰它的所有最⼩因⼦。

例如:如果整数为120,那么显⽰的最⼩因⼦为5、3、2、2、2。

使⽤StackOfIntegers类存储因⼦(如:2、2、2、3、5),获取之后按倒序显⽰这些因⼦。

【实验预习】练习类的调⽤,使⽤StackOfIntegers类【实验过程及结果记录】import java.util.*;import java.awt.*;import javax.swing.*;public class zhiyinshu{public static void main (String[] args) {StackOfIntegers h1 =new StackOfIntegers(); StackOfIntegers h2 =new StackOfIntegers();String str=JOptionPane.showInputDialog(null,"请输⼊⼀个正整数","分解质因数",JOptionPane.QUESTION_MESSAGE); int yuanshu = Integer.parseInt(str);int i=2;int b=0;int c=0;do{i=2;b=0;do{if(yuanshu%i==0){yuanshu=yuanshu/i;h1.jilu(i);b=1;}i++;}while(b==0&&i}while(ih1.jilu(yuanshu);c=h1.getsize();for(int v=0;vh2.jilu(h1.esc());for(int v=0;vSystem.out.print(""+h2.esc()+"\n"); }}class StackOfIntegers {private int size;private int[] zhan;public static final int a=16;public StackOfIntegers(){this(a);}public StackOfIntegers(int n){zhan = new int[n];}public void jilu(int up) {if(size>=zhan.length){int[] temp = new int[zhan.length * 2];System.arraycopy(zhan,0,temp,0,zhan.length);zhan=temp;}zhan[size++]=up;}public int esc(){return zhan[--size];}public int getsize(){return size;}}【实验总结】练习了创建随机数的⽅法以及Java的输出⽅法,在编码的过程中还是经常出现⼤⼩写打错的情况。

java实验报告实验2答案(共5篇)

java实验报告实验2答案(共5篇)

java实验报告实验2答案(共5篇)第一篇:java实验报告实验2答案互联网软件应用与开发实验指导书实验二熟悉Applet,GUI编程实验目的:本实验旨在巩固同学们对上课所讲Applet,异常处理,java的控制加深理解,图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,对java的语法和编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。

了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。

实验内容:创建一个java项目,命名为experiment2。

(如何创建项目参考《实验一》的项目创建方法。

)(一)创建图形用户界面图形用户界面(Graphic User Interface,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。

组件(Component)是构成GUI的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。

组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。

通过容器的add方法把组件加入到容器中。

1.在Applet中添加标签、按钮并使用网格布局(1)程序功能在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。

(2)编写LX6_1.java 程序文件,源代码如下:import java.awt.*;import java.applet.Applet;public class LX6_1 extends Applet { Label l1;Button b1, b2, b3, b4, b5,b6;public void init(){互联网软件应用与开发实验指导书setLayout(new GridLayout(3,3));// 设置网格布局(3 行3 列共9 个网格)l1=new Label(“标签1”);b1 = new Button(“按钮1”);b2 = new Button(“按钮2”);b3 = new Button(“按钮3”);b4 = new Button(“按钮4”);add(l1);add(b1);add(b2);add(b3);add(newLabel());add(b4);add(new Button(“按钮5”));add(new Button(“按钮6”));add(new Label(“标签2”));} }(3)编译程序LX6_1.java。

java实验报告2

java实验报告2
innerRadius = iRadius;
outerRadius = oRadius;//代码1 //初始化外半径
color = c;
}
public double getInnerRadius() {
return innerRadius;// double getOuterRadius() {
System.out.println("cir2的半径是:" + cir2.radius);
System.out.println("cir2的面积是:" + cir2.getArea());
cir2.displayNo();
}
}
class ScopeTest {
int x;
static int m = 0;
application.setx(2);
application.setm(3);
application.show();
}
}
class Overload {
int m, n;
Overload() {
m = 0;
n = 0;
}
Overload(int a, int b) {
m = a;//代码1 //初始化变量m
此题关键是设计一个学生数组,既能存放本科生对象,又能存放研究生对象,程序的运行效
果如图所示。
7、通过编制一个程序来加深对嵌套类、内部类和局部类的理解,该程序要求定义一个外部类Outer,然后在Outer类中定义一个内部类Inner和局部类Local,Inner类和Local类的任务都是显示出外部类中的数组元素,然后求出这些数组元素的平均值。程序运行效果如图所示。
三、实验设备

Java 2实用教程(第五版)课后习题二

Java 2实用教程(第五版)课后习题二

习题二一、问答题1.什么叫标识符?标识符的规则是什么?false是否可以作为标识符。

用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列成为标识符。

标识符由字母,下划线、美元符号和数字组成;第一个字符不能是数字,false 不是标识符。

2.什么叫关键字?true和false是否是关键字?请说出6个关键字。

关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。

true 和 false 都不是关键字。

其他的关键字:class (类) implements(实现接口) interface(接口类) enum (枚举)extends(继承)abstract(抽象类或抽象方法)3.Java的基本数据类型都是什么?boolean,char,byte,short,int,long,float,double4.float型常量和double型常量在表示上有什么区别?float常量必须用F或f为后缀。

double常量用D或d为后缀。

但double常量允许省略后缀。

5.怎样获取一维数组的长度,怎样获取二维数组中一维数组的个数。

一维数组名.length 二维数组名.length二、选择题1.下列哪项字符序列可以做为标识符? CA. trueB. defaultC. _intD. good-class2.下列哪三项是正确的float变量的声明? ADFA. float foo = -1;B. float foo = 1.0;C. float foo = 42e1;D. float foo = 2.02f;E. float foo = 3.03d;F. float foo = 0x0123;3.下列哪一项叙述是正确的? BA. char型字符在Unicode表中的位置范围是0至32767B. char型字符在Unicode表中的位置范围是0至65535C. char型字符在Unicode表中的位置范围是0至65536D. char型字符在Unicode表中的位置范围是-32768至32767 4.以下哪两项是正确的char型变量的声明? BEA. char ch = "R";B. char ch = '\\'C. char ch = 'ABCD';D. char ch = "ABCD";E. char ch = '\ucafe';F. char ch = '\u10100'5.下列程序中哪些【代码】是错误的?代码:2,3,4,5错public class E {public static void main(String args[]) {int x = 8;byte b = 127; //【代码1】b = x; //【代码2】x = 12L; //【代码3】long y=8.0; //【代码4】float z=6.89 ; //【代码5】}}6.对于int a[] = new int[3];下列哪个叙述是错误的? BA. a.length的值是3。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课后实验报告(二)
1、编写程序实现摄氏温度和华氏温度的转换。

2、利用if语句实现阶梯电费的问题:用电量240度以下(包含240度)每度电0.55元,用电量在240-540度之间,超出240度电的部分按0.70元计算,用电量超过540度电,超出540度电的部分按照0.95元计算。

(使用scanner方法输入电数)
3、利用switch语句实现判断某年的某个月份有几天的程序。

4、嵌套循环(for + while)实现1!+2!+3!+ ... 9!即阶乘之和
5、水仙花数是指其个位、十位和百位上三个数的立方之和等于这个数本身。

通过循环,判断100-999之间所有的数字,符合水仙花数条件的数字。

(例如:1^3 + 5^3 + 3^3 = 153)
6、编写程序输出1--200之间的所有素数。

7、尝试分别用三层循环、两层循环、一层循环编程实现“百钱买百鸡”问题。

母鸡5分钱一只,公鸡三分钱一只,小鸡一分钱三只,现在有百钱欲买百鸡,有多少种买法?
三层循环:
二层循环:
一层循环:。

相关文档
最新文档