java实验二.

合集下载

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语言实验2程序控制结构

Java语言实验2程序控制结构

一、实验目的1.理解定义变量的作用,掌握定义变量的方法。

2.掌握顺序结构程序控制。

3.掌握算法与程序设计的基本方法。

4.掌握if语句、if-else-if结构的使用。

5.掌握switch语句的使用。

6.掌握使用while语句实现循环。

7.了解使用do-while语句实现循环。

8.掌握使用for语句实现循环。

9.了解continue语句和break语句的使用。

10.掌握一维数组的概念、定义和使用。

二、实验内容及步骤1.顺序结构(1)任务写一个程序,读入三个整数并打印他们的平均值。

源代码:public class renwu1 {public static void main(String[] args) {int sum = 0;int aver = 0;Scanner scanner = new Scanner(System.in);for(int i = 1;i <= 3; i++) {System.out.print("请输入第" + i +"个数:");sum +=scanner.nextInt();aver = sum / i;}System.out.println("平均数是:" + aver);}}运行结果:写一个程序,读入两个浮点数并打印他们的和、差和积。

源代码:public static void main(String[] args) {float sum = 0;float cha = 0;float ji = 0;Scanner scanner = new Scanner(System.in);System.out.println("请输入第一个浮点数:");float num1 = scanner.nextFloat();System.out.println("请输入第二个浮点数:");float num2 = scanner.nextFloat();sum = num1 + num2;cha = num1 - num2;ji = num1 * num2;System.out.println("和是:" + sum);System.out.println("差是:" + cha);System.out.println("积是:" + ji);}}运行结果:2.分支结构(1)任务任务1:使用简单if语句编程,从键盘键入三个整数,然后按照从小到大的顺序将其输出。

JAVA实验二

JAVA实验二

实验二Java语言基础
一、实验目的
1.掌握标识符的定义规则。

2.掌握表达式的组成。

3.掌握各种数据类型及其使用方法。

4.理解定义变量的作用,掌握定义变量的方法。

5.掌握各种运算符的使用及其优先级控制。

二、实验内容
1.运行下面的程序,掌握变量定义与数据类型。

2.运行下面的程序,掌握算术运算。

3.运行下面的程序,掌握关系运算与逻辑运算
三、思考题
1.定义变量的作用是什么?
2.Java运算符的优先级与结合性是怎样的?
3.将本实验的实验内容1中的
long l=3615L;
改为:
long l=3615;
会出现什么情况?为什么?
提示:缺省的整型常量为int型,long型常量后面要加l或L。

4.将本实验的实验内容1中的
float f=0.23F;
改为: float f=0.23;
会出现什么情况?为什么?
提示:缺省的浮点型常量为双精度(double)型,单精度(float)型常量后面加f或F。

5.分析本实验的实验内容2中的语句
int j=i++;
int k=++i;
的执行过程。

提示: j=i i=i+1
以及 i=i+1 k=i
6.分析本实验的实验内容3中的语句
d=(f!=0&&a/f>5);
和语句
d=(f!=0&a/f>5);
有什么区别?
提示:对于快速逻辑与运算,当运算符左侧表达式的值为true时,不再计算右侧表达式的值。

实验二Java类编程实验

实验二Java类编程实验

实验⼆Java类编程实验实验⼆Java类编程实验实验⽬的1.掌握Java类的基本定义和使⽤⽅法2.熟悉Java语⾔的基本语法和运⾏原理3.掌握Java的基本数据类型、表达式和程序控制结构4.熟悉Eclipse开发环境的基本使⽤⽅法实验内容1. 对象的创建和使⽤使⽤集成开发环境编写⼀个圆环类Ring的Java程序。

圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius 和颜⾊color,这些属性通过get和set⽅法进⾏封装。

另外,圆环类中的getArea⽅法可以返回其⾯积。

把程序中的代码补充完整,并查看结果。

public class Ring {private double innerRadius;private double outerRadius;private String color;public Ring(double iRadius, double oRadius, String c) { //初始化数据成员}//⽤get和set⽅法封装数据成员public double getArea() {}public static void main(String[] args) {Ring ring = new Ring(5,8,"red");System.out.println("圆环的内半径: " +ring.getInnerRadius( ));System.out.println("圆环的外半径: " + ring.getOuterRadius( ));System.out.println("圆环的颜⾊: " + ring.color);System.out.println("圆环的⾯积: " + ring.getArea() + "\n");ring.setInnerRadius(4);//设置圆环ring的外半径为6ring.setColor("blue");System.out.println("圆环的内半径: " + ring.getInnerRadius( ));System.out.println("圆环的外半径: " + ring.getOuterRadius( ));System.out.println("圆环的颜⾊: " + ring.color);System.out.println("圆环的⾯积: " + ring.getArea());}}思考:1)将程序中的语句Ring ring = new Ring(5,8,"red"); 改成Ring ring = newRing();修改后编译运⾏,此时有错误发⽣吗?分析错误的原因。

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程序设计-试验2(学生版)

Java程序设计-试验2(学生版)

Java程序设计-试验2(学生版)
华北电力大学
实验报告
实验名称Java程序面向对象设计(一)课程名称Java程序设计
专业班级:学生姓名:
学号:成绩:指导教师:张学斌实验日期:
自己的speed的值增加80
【代码10】//car2调用speedUp方法将自己的speed的值增加80
System.out.println("car1目前的速度:"+car1.getSpeed());
System.out.println("car2目前的速度:"+car2.getSpeed());
car1.speedDown(10);
car2.speedDown(20);
System.out.println("car1目前的速度:"+car1.getSpeed());
System.out.println("car2目前的速度:"+car2.getSpeed());
}
}
1.3 实验指导
●创建一个对象时,成员变量被分配空间,这些内
存空间称作该对象的实体或变量,而对象中存放着引用,以确保这些变量被该对象操作使用。

●空对象不能使用,即不能让一个空对象去调用方
法产生行为。

假如程序中使用了空对象,在运行时会产生异常:NullPointerException,对象时。

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赋值。

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

信息工程学院Java程序设计实验/实习报告学院: 班级:地信姓名: 学号:2 成绩:A面向对象编程一、实验/实习过程(一)实验目的掌握Java程序面向对象编程的基本架构,会运用面向对象的思想编写Java程序。

(二)实验过程【实验题1】完成如下程序,完成思考题[基本要求] 运行程序并观察运行结果。

[思考问题] 试述程序中主要语句的作用运行结果:主要程序语句的作用已标注为注释:class CCircle // 类的声明{ double pi; //申明成员变量double radius; //申明成员变量double getRadius() //创建方法实验报告的内容与格式按任课教师的要求书写。

{ return radius; //返回 radius}void setCircle(double r, double p) //创建方法{ pi=p; //初始化数据成员radius=r; //初始化数据成员}}public class Ex2_1 //类的声明{ public static void main(String args[]) //主方法{ CCircle cir1=new CCircle(); //创建对象cir1.setCircle(2.0,3.1416); //调用对象System.out.println("radius="+cir1.getRadius()); //输出结果}}【实验题2】设计一个用来描述汽车的类,使用类的静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。

package zz1;public class Car{String name;int speed;int jiaodu;public Car(String name,int speed,int jiaodu){=name;this.speed=speed;this.jiaodu=jiaodu;System.out.println("车主:"+);System.out.println("车速为:"+this.speed);System.out.println("方向盘角度:"+this.jiaodu);}void changename(String name){=name;System.out.println("当前车主为:"+);}void changespeed(int speed){this.speed=speed;System.out.println("当前速度为:"+this.speed);}void changejiaodu(int jiaodu){this.jiaodu=jiaodu;System.out.println("当前方向盘角度为:"+this.jiaodu);}void stop(){this.speed =0;System.out.println("停车后,车速为:"+this.speed);}public static void main(String args[]){Car car=new Car("张三",0,0);car.changename("好友");car.changespeed(20);car.changejiaodu(30);car.stop();}}结果:【实验题3】定义一个类MyProgram,包含两个属性:一个是private的整型属性data、一个是private的String类型的属性str,封装这两个属性的四个方法setData()和getData()、setStr( )和getStr();将这两个属性转变为字符串的方法是toStr ()。

编写程序,使用MyProgram类,实现数据的访问和修改,并调用toStr()方法显示该类的属性。

[基本要求] 编写完整程序。

[思考问题] 试述程序中各个方法的作用。

代码如下:package zz1;public class Myprogram {private int data;private String str;void setdata(int data){this.data=data;}int getdata(){return data;}void setstr(String str){this.str=str;}String getstr(){return str;}String toStr(){String a=data+" ";a=str;return a;}public static void main(String args[]){Myprogram m=new Myprogram();m.data=1000;m.str="jgfldjsglkdj";System.out.println("转换之前:"+m.data);System.out.println("转换之后:"+m.str);}}结果如下:[思考问题] 试述程序中各个方法的作用。

setData()和setStr()方法的作用是获得数据和资料,getData()、和getStr()作用为设置数据和资料。

toStr()函数用来将其他类型转化为字符串类型。

【实验题4】定义一个类实现银行帐户的概念,包括的变量有"帐号"和"存款余额",包括的方法有"存款"、"取款"、"查询余额"和”显示帐号”。

定义主类,创建帐户类的对象,并完成相应操作。

提示:关键代码如下:public int getleftmoney(){return leftmoney;}public void savemoney(double money){leftmoney+=money;}public void getmoney(double money){if(money<=leftmoney)leftmoney-=money;elseSystem.out.println("只能取:"+leftmoney);}…bankaccount ba=new bankaccount(888123,1000);ba.savemoney(21000);System.out.println("存入21000元后余额为:"+ba.getleftmoney()); ba.getmoney(11500);System.out.println("11500元后余额为:"+ba.getleftmoney());代码如下:package zz1;public class Bankaccount {int acc;int leftmoney;Bankaccount(int acc,int leftmoney){this.acc=acc;this.leftmoney=leftmoney;}public int getleftmoney(){return leftmoney;}public void savemoney(double money){leftmoney+=money;}public void getmoney(double money){if(money<=leftmoney)leftmoney-=money;elseSystem.out.println("只能取:"+leftmoney);}public static void main(String args[]){Bankaccount ba=new Bankaccount(888123,1000);ba.savemoney(21000);System.out.println("存入21000元后余额为:"+ba.getleftmoney());ba.getmoney(11500);System.out.println("取出11500元后余额为:"+ba.getleftmoney());}}结果如下:【实验题5】完成课本4.13(102页)jar文件的生成并产生Use类的运行结果。

【实验题6】对象的组合。

现有一个Rectangle类,请设计一个柱形类cuboid。

1. 此类具有两个成员变量,(1)Rectangle类型的成员变量rect(长方体以长方形做底)和(2)height(柱形的高)。

2. 此类应具有构造方法。

3. (1)此类应具有求面积的方法getVolme()。

(2)此类应具有设置和获得底的长度和宽度的方法:getBottomWidth(),setBottomWidth(),getBottomLength(),setBottomLength()。

Rectangle的代码如下:public class Rectangle {double width,length;public void setWidth(double w) {if(w > 0)this.width=w;}public double getWidth(){return width;}public void setLength (double h) {if(length > 0)this.length =h;}public double getLength () {return length;}}代码如下:package zz1;public class Cuboid {double rect,height;double width,length;Cuboid(double height){this.height=height;}public void getBottomWidth(double width){ if(width > 0)this.width=width;}public void setBottomWidth(){System.out.println("底面宽是:"+width); }public void getBottomLength(double length) { if(length > 0)this.length =length;}public void setBottomLength (){System.out.println("底面长是:"+length); }public void getVolme(){double V;V=width*length*height;System.out.println("柱形的体积是:"+V); }public static void main(String args[]){Cuboid cub=new Cuboid(20);cub.getBottomWidth(15);cub.getBottomLength(17);cub.setBottomWidth();cub.setBottomLength();cub.getVolme();}}结果如下:【实验题5】有图形类的父类Shape,参照圆Circle类补充完整正方性Square和三角形Triangle类,并分析运行结果。

相关文档
最新文档