Java语言程序设计-实验2
JAVA第四版实验2实验报告
实验11.实验要求:编写一个Java应用程序,该程序在命令行窗口输出希腊字母表。
2.实验内容:3.实验分析:(1)将一个double型数据直接赋值给float型变量,程序编译时提示怎样的错误。
可能损失精度。
(2)在应用程序的main()方法中增加语句:float x=0.618,程序能编译通过吗?不能通过编译,提示可能损失精度。
(3)在应用程序的main()方法中增加语句:byte b=128编译能通过吗?在应用程序的main()方法中增加语句:int z=(byte)128;程序输出变量z的值是多少?增加byte b=128时编译不能通过,提示可能损失精度。
增加int z=(byte)128时结果如下所示。
实验21.实验要求:编写一个Java应用程序,该程序在命令行窗口输出数组的引用以及元素的值。
2.实验内容:3.实验分析:(1)在程序的【代码4】之后增加语句”a[3]=200;”,编译是否有错?运行是否有错?(2)在程序的【代码4】之前输出二维数组b的各个一维数组的长度和引用。
(3)在程序的【代码4】之后输出二维数组b的各个一维数组的长度和引用。
实验31.实验要求:编写一个Java应用程序,输出数组a的全部元素,并将数组a的全部或部分元素复制到其他数组中,然后改变其他数组的元素的值,再输出数组a的全部元素。
2.实验内容:3.实验分析:(1)在程序的【代码4】之后增加语句:int []tom=Arrays.copyOf(c,6);System.out.println(Arrays.toString(tom));(2)在程序的最后一个语句之后增加语句:int []jerry=Arrays.copyOf(d,1,8);System.out.println(Arrays.toString(jerry));。
java实验二报告
中国矿业大学计算机学院实验报告课程名称 java实验实验名称实验二面向对象编程班级_____ 姓名_____学号___ 实验日期_2013_-5-27____实验报告要求:1.实验目的 2.实验内容 3.实验步骤4.运行结果5.流程图6.实验体会一、实验代码及演示结果1. 编一程序,求两个正整数m、n的最大公约数。
要求程序中有两个方法,分别使用循环和递归,最后在主方法中两次求解并输出最大公约数。
package com;import java.util.Scanner;public class ex21{public static int num1,num2,temp1,temp2;public static void main(String args[]){System.out.print("请输入两个数字:");Scanner in=new Scanner(System.in);num1=in.nextInt();num2=in.nextInt();if(num1>num2){temp1=solution1(num1,num2);temp2=solution2(num1,num2);}else{temp1=solution1(num2,num1);temp2=solution2(num2,num1);}System.out.println("循环法得到"+num1+"和"+num2+"的最大公约数为:"+temp1);System.out.println("递归法得到"+num1+"和"+num2+"的最大公约数为:"+temp2);}private static int solution1(int x,int y){int r;while(y!=0){r=x%y;x=y;y=r;}return x;}private static int solution2(int m,int n){if(n==0){return m;}else{return solution2(n,m%n);}}}结果演示:2.使用类编写程序(在程序中定义类,然后在主方法中创建类的对象,并调用该类中的方法,观察所得结果。
JAVA_实验二
上海电力学院Java程序设计实验题目实验二 Java基本数据类型与控制语句学号 20133010姓名郭昕班级 2013221 院系计算机科学与技术学院专业软件工程§2.1.1实验目的、内容及性质①掌握char型数据和int型数据之间的相互转换,同时了解unicode字符表;②掌握使用if…else if多分支语句;③使用if…else分支和while循环语句解决问题。
§2.2.3实验指导1.输出希腊字母表。
(代码补充完整,并完成调试,将运行结果截图)✧实验要求:编写一个Java应用程序,该程序在命令行窗口输出希腊字母表。
✧程序运行效果示例:程序运行效果如下图所示:✧程序模板:GreekAlphabet.javapublic class GreekAlphabet{public static void main (String args[ ]){int startPosition=0,endPosition=0;char cStart='α',cEnd='ω';【代码1】//cStart做int型转换据运算,并将结果赋值给startPosition【代码2】//cEnd做int型转换运算,并将结果赋值给endPositionSystem.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+(int)c);System.out.println("希腊字母表:");for(int i=startPosition;i<=endPosition;i++){char c='\0';【代码3】//i做char型转换运算,并将结果赋值给cSystem.out.print(" "+c);if((i-startPosition+1)%10==0)System.out.println("");}}}2.回文数。
《Java程序设计》实验报告 --实验2
3.class Point2D{
4.double X; double Y;
5.public Point2D()//2D
6.{
7.X=0;Y=0;}
8.Point2D(double x, double y){
9.X=x;Y=y;}
10.void offset(double a, double b){
38.Point2D[] P=new Point2D [9];
39.//double Y;
40.//Y=Math.random();System.out.println(Y);
41.for(int i=0;i<P.length;i++)
42.{P[i]=new Point2D();}
43.for(int i=0;i<P.length;i++){P[i].setPoint2D(Math.random(),Math.random());}
36.distance = Math.sqrt(Math.pow((p3d1.X-p3d2.X),2)+Math.pow((p3d1.Y-p3d2.Y),2)+Math.pow((p3d1.Z-p3d2.Z),2));
37.System.out.println("Distance Between Point3D P3P1 and P3P2 is "+ distance);
(2)Point2D有一个void型成员方法offset(int a, int b),它可以实现Point2D的平移。
(3)Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z (分别为三维空间的X,Y,Z方向坐标),Point3D有两个构造方法:Point3D(int x,int y,int z)和Point3D(Point2D p,int z),两者均可实现对Point3D的成员变量x, y,z的初始化。
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语言程序设计实验名称面向对象程序设计实验任务二第页专业班级学号__ __ 姓名实验日期:2010 年9 月21 日报告退发(订正、重做)一、实验目的•掌握类、域、方法的定义和实例对象的创建•理解类的继承性、多态性、封装性•掌握包的应用•掌握关键字abstract、static、final和this的使用•掌握接口的定义和使用•掌握内部类使用•理解变量作用域范围的含义和参数传递方式•体会面向对象程序设计基本思想二、实验环境1、微型计算机一台2、DOS或WINDOWS操作系统,j2se开发包三、实验内容1.定义一个员工类,包含姓名、出生年月、性别三个属性,包含计算员工到目前为止年龄段方法。
●源文件名为:Employee.java●类名:Employee●要求定义静态成员域,以便统计该类及其子类的实例对象中,男性和女性的数量。
2.定义一个教师类,继承员工类,增设开始从教时间属性及职称属性,增设计算教师到目前为止教龄的方法。
●源文件名:Teacher.java●类名:Teacher3.定义一个行政人员类,继承员工类,增设开始工作时间及职务属性,增设计算该工作人员到目前为止工龄的方法。
●源文件名:Staff.java●类名:Staff4.定义主类,●源文件名:School.java●类名:School●完成以下工作:✓创建一个教师类实例,性别为女性,输入各个属性,输出她的姓名、年龄、教龄及职称。
✓创建一个行政人员实例,性别为男性,输入各个属性,输出他的姓名、年龄、工龄及职务。
✓统计输出程序执行到此,所创建男性和女性实例对象的个数。
该操作要求在员工类中定义静态成员实现。
四、实验步骤和结果1.在Eclipse中新建名字为test的工程。
2.新建Employee.java,Teacher.java,Staff.java,School.java 四个类。
3.分别编写java程序,求解员工类、教师类、行政人员类和主类问题。
java程序设计实验1,2,3
publicclassMathDemo {
publicstaticvoidmain(String[] args) {
Random rand=newRandom();
intv=rand.nextInt();
System.out.println("你得到了一个"+v);
int a=5+4, b=a*2, c=b/4;
int d=b-c;
int e=-d;
int f=e%4;
double g=18.4, h=g%4;
int i=3;
int j=i++;
int k=++i;
System.out.println("a="+a);
System.out.println("b="+b);
}
}
1)保存文件名为:
2)编译命令为:
3)运行程序命令为:
4)如果删除该程序的第一行import语句,重新编译,有何问题?
评语:日期:年月日
实验二:数值类型与变量声明
实验目的:
1.掌握标识符的定义规则
2.认识Java的数据类型以及掌握各种变量的声明方法。
3.掌握不同数值类型间的赋值问题
实验内容
编写一个JAVA程序,对不同类型的类型进行变量的定义并输出相应的值。
if (e!=0 && a/e>5)
System.out.println("因为e非0且a/e为8大于5,所以输出a/e="+a/e);
if (f!=0 && a/f>5)
Java程序设计实验报告2
课程实验报告
4.新建类“出租车”实现接口“收费”、“调节温度”
5.新建类“电影院”实现接口“收费”、“调节温度”
6.新建类Example5_15,创建main函数,分别创建上述类的对象测
试
调
试
过
程
及
实
验
结
果
总结通过运行第四单元的几个例子,我掌握了类创建对象的方法以及对象的使用方法,还了解了类的访问权限,知道了private、public、protected 和友好变量(方法)的区别和使用方法;通过例5.3和例5.4我掌握了了成员变量的隐藏和方法重写规则,并熟悉了它们与类的继承方法的使用;通过后面的几个例子,我学习了抽象类和接口的使用规则,并了解了他们的不同之处以及在什么时候应该使用什么方法。
附
录
*注意:
--雷同无效,禁止抄袭;
--A4纸单面打印,左侧装订,2个钉;
--以班为单位,各班负责人收齐并按学号由小到大顺序排序后上交;--报告上交时间,第6周周一。
java实验二
java实验二、类与对象一、实验目的1.掌握类的声明。
2.掌握对象的创建。
3.掌握方法的定义和调用。
4.掌握构造函数的使用。
二、实验内容1.编程创建一个Box类,在其中定义三个变量表示一个立方体的长、宽和高,再定义一个方法setDemo对这三个变量进行初始化,然后定义一个方法求立方体的体积。
创建一个对象,求给定尺寸的立方体的体积。
将方法setDemo再改用构造函数实现初始化。
3.编程创建一个Point类,在其中定义两个变量表示一个点的坐标值,再定义构造函数完成初始化,然后定义一个方法实现点的移动,再定义一个方法打印当前点的坐标。
并创建一个对象验证。
提示:关键代码如下:void move(int newX,int newY){x=newX;y=newY;}void print(){System.out.println(":x="+x+" y="+y);}…p.print();p.move(50,50);System.out.println("**after moving**");p.print(); //call method of an object4.定义一个类实现银行帐户的概念,包括的变量有"帐号"和"存款余额",包括的方法有"存款"、"取款"和"查询余额"。
定义主类,创建帐户类的对象,并完成相应操作。
提示:关键代码如下: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(123456,1000);ba.savemoney(2000);System.out.println("存入2000元后余额为:"+ba.getleftmoney()); ba.getmoney(1500);System.out.println("取1500元后余额为:"+ba.getleftmoney());。
实验2
4.字符串:
<1>字符串之间一般用+连接。
<2>只有+=一个复合运算符可以用于字符串变量,其余的都不能。
<3>字符串不是字符串数组,不能以字符数组方式通过下标对指定位置的字符进行操作。
<2>选择语句:有if语句和switch语句。
<3>循环语句:有while语句,do~whiles语句,for语句。
<4>转移语句:break语句,continue语句,return语句。
PS:1.if语句一般与else连用,if~else代表这பைடு நூலகம்果,否则。
2.赋值语句用一个=而等号用两个==。
3.while语句是先判断后执行而do~while是先执行后判断且while()括号里面放的是布尔表达式
3.方法:
<1>一个方法一定要有返回值类型,但不一定要有返回值。
<2>使用final声明的形式参数为常量,在方法体中不能对其赋值
<3>参数传递:若是基本数据类型,则值传递;若是引用数据类型则是传递引用
<4>方法重载:1.方法名相同,参数个数不同,构成重载2方法名相同,参数顺序不同,构成重载3.方法名相同,参数类型不同,构成重载
Java语言程序设计实验报告
实验名称
实验2Java面向对象编程基础
实验日期
2018-04-24
专业班级
17计算机科学与技术2班
桌号
实验人
喻伟亮
学号
10
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实验2
Java实验2验2类和对象⼀、实验⽬的:1、学习定义类和使⽤类创建对象。
2、掌握对象变量和普通变量的区别,学习掌握使⽤对象调⽤其成员的⽅法。
3、学习掌握类的构造⽅法。
4、学习掌握给⽅法传递对象。
5、学习掌握类的静态变量和静态⽅法。
⼆、实验任务:1、创建Java程序,学习类的定义、使⽤类创建对象、通过对象调⽤其成员、类的构造⽅法的作⽤、如何给⽅法传递对象、掌握静态变量、静态⽅法的⽤法。
程序要求:(1)⾸先创建Circle类表⽰平⾯上的圆,要求该类具备构造⽅法,以初始化表⽰半径的私有数据成员radius;具备求圆⾯积的⽅法;还要具备⼀个静态数据成员numOfObjects,⽤来统计程序运⾏过程中创建圆对象的个数。
(2)创建⼀个静态⽅法public static void printCircle(Circle c),功能是输出参数圆对象c的相关信息,包括半径和⾯积的值。
(不是Circle的成员⽅法)(3)程序运⾏中创建2个以上的圆对象,分别输出相关信息,并统计输出对象的数⽬。
2、创建Java程序,进⼀步学习上述的内容以及关键字this的使⽤和类抽象的概念。
程序要求:(1)⾸先创建有理数类Rational,该类包含构造⽅法和加、减、乘、除⽅法。
(2)程序主⽅法中创建两个有理数对象,分别进⾏加、减、乘、除运算,并输出运算结果。
三、实验步骤:1、按照任务1的要求创建⼀个表⽰圆形的Circle类。
2、按照任务1的要求创建⼀个类TestInstanceAndClassVariable,其中包含静态⽅法public static void printCircle(Circle c)和程序的主⽅法main,在main⽅法中创建两个或多个Circle对象,调⽤printCircle(Circle c)⽅法显⽰每个Circle对象的相关信息,最后统计程序中所有创建的Circle类对象的数⽬。
实验代码:public class TestInstanceAndClassVariable{Circle circle1=new Circle();System.out.println("Beforecreatingcircle2");System.out.print("circle1is:");printCircle(circle1);Circle circle2=new Circle(5);circle1.setRadius(9);System.out.println("\nAftercreatingcircle2andmodifying"+"circle1' sradiusto9");System.out.print("circle1is:");printCircle(circle1);System.out.print("circle2is:");printCircle(circle2);}public static void printCircle(Circle c){System.out.println("radius("+c.getRadius()+")andnumberofCircleobject s("+c.getNumOfObjects()+")"); }}class Circle{private double radius;private static int numOfObjects=0;public Circle(){radius=1.0;numOfObjects++;}public Circle(double r){radius=r;numOfObjects++;}public double getRadius(){return radius;}public void setRadius(double newRadius){radius=newRadius;}public static int getNumOfObjects(){}public double findArea(){return radius*radius*Math.PI;}}实验结果:3、按照任务2的要求创建⼀个有理数类Rational,应包含2个私有的长整型数据成员numerator和denominator分别存储⼀个有理数的分⼦和分母;该类应包含不带参数的构造⽅法,和带参数的构造⽅法。
Java程序设计实验2
System.out.println("学号:"+stu.number);
System.out.println("年龄:"+stu.age);
System.out.println("姓名:"+);
}
}
4、为Student类添加构造方法Student(),Student(String number), Student(String number, int age), Student(String number, int age, String name),在main方法中分别利用这些构造方法进行实例化。查看其结果。
System.out.println("stu4姓名:"+);
System.out.println("stu4学号:"+stu4.number);
System.out.println("stu4年龄:"+stu4.age);
}
}
5、在Student类中添加最终(final)变量id和静态(static)变量school,对这两个变量赋初值,尝试改变id和school变量的值,在main方法中采用多种方式访问这两个变量的值。查看其结果。publicclassstudent {
finalStringid="1110012127";
staticStringschool="厦门理工学院";
publicstaticvoidshowschool(){
System.out.println(student.school);
Java程序设计-试验2(学生版)
Java程序设计-试验2(学生版)华北电力大学实验报告实验名称Java程序面向对象设计(一)课程名称Java程序设计专业班级:学生姓名:学号:成绩:指导教师:张学斌实验日期:一、实验目的及要求1.掌握类的定义。
2.掌握成员变量和成员方法的定义。
3.掌握构造方法的定义和使用。
4.掌握类的多态性二、实验环境Windows2000/Windows XP,JDK 1.2~1.6三、试验内容和步骤要求按照实验内容,写出详细实验过程和步骤,必要时截图。
实验1 机动车1.1实验要求编写一个Java应用程序,该程序有两个类:Vehicle(用于刻画机动车)和User(主类)。
具体要求如下:Vehicle类有一个double类型的变量speed,用于刻画机动车的速度,一个int型变量power,用于刻画机动车的功率。
定义了speedUp(int s)方法,体现机动车有加速功能。
定义了speedDown()方法,体现机动车有减速功能。
定义了setPower(int s),用于设置机动车的功率。
定义了getPower()方法,用于获取机动车的功率。
在主类User的mian()方法中用Vehicle类创建对象,并让该对象调用方法设置功率,演示加速和减速功能。
1.2程序模板Vehicle.javapublic class Vehicle {【代码1】//声明double型变量speed,刻画速度【代码2】//声明int型变量power,刻画功率void speedUp(int s) {【代码3】//将参数s的值与成员变量speed的和赋值给成员变量speed }void speedDown(int d) {【代码4】//将成员变量speed与参数d的差赋值给成员变量speed }void setPower(int p) {【代码5】//将参数p的值赋值给成员变量power}int getPower() {【代码6】//返回成员变量power的值}double getSpeed() {return speed;}}----------------------------------------------------------------------------------------------User.javapublic class User {public static void main(String args[]) {Vehicle car1,car2;【代码7】//使用new 运算符和默认的构造方法创建对象car1 【代码8】//使用new 运算符和默认的构造方法创建对象car2 car1.setPower(128);car2.setPower(76);System.out.println("car1的功率是:"+car1.getPower());System.out.println("car2的功率是:"+car2.getPower());【代码9】//car1调用speedUp方法将自己的speed的值增加80【代码10】//car2调用speedUp方法将自己的speed的值增加80System.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 实验指导●创建一个对象时,成员变量被分配空间,这些内存空间称作该对象的实体或变量,而对象中存放着引用,以确保这些变量被该对象操作使用。
java实验报告 二
实验二:面向对象编程一、实验目的通过编程和上机实验了解Java语言是如何体现面向对象编程基本思想,熟悉类的封装方法以及如何创建类和对象,熟悉成员变量和成员方法的特性,熟悉类的继承性和多态性的作用,熟悉包、接口的使用方法,掌握OOP方式进行程序设计的方法。
二、实验要求1、编写程序实现类的定义和使用。
2、编写不同成员和不同成员方法修饰方法的程序。
3、编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序和多态性(成员方法重载、构造方法重载)的程序。
4、编写接口的定义和使用的程序。
5、编写包的定义和使用的程序。
三、实验内容及运行结果1、类的定义和使用●定义一个满足如下要求的Date类:a.用下面的格式输出日期:日/月/年b.可运行在日期上加一天操作c.设置日期用该类编写一个显示当前日期的程序。
●创建一个桌子Table类,该类中有桌子名称、重量、桌面宽度、长度及桌子高度属性。
其中有:a.构造函数初始化所有数据成员b.Area():计算桌面的面积c.Display():在屏幕上输出所有数据成员的值d.ChangeWeight(int ):改变桌子重量的函数e.在main()中实现创建一个桌子对象,计算桌面的面积,改变桌子重量,并在屏幕上输出所有桌子数据成员的值。
源代码:class Table{private String name;private double weight;private double width;private double length;private double height;//构造函数public Table(String name,double weigth,double width,double length,double height){ = name;this.weight = weight;this.width = width;this.length = length;this.height = height;}//计算桌面的面积public double Area(){return width*length;}//在屏幕上输出所有数据成员的值public void Display(){System.out.println("桌子的名称: "+name+", "+"重量(kg): "+weight);System.out.println("桌面的宽度(cm): "+width+", "+"长度(cm): "+length);System.out.println("桌子的高度(cm): "+height);}//改变桌子重量的函数public void ChangeWeight(double weight){this.weight = weight;}}class TestTable{public static void main(String[] args){Table t = new Table("桌神",10,100,60,130);//计算桌面的面积System.out.println("桌面的面积为:"+t.Area());//改变桌子重量t.ChangeWeight(15);//在屏幕上输出所有桌子数据成员的值t.Display();}}运行结果:2、修饰符的使用:有时需要公开一些变量和方法,有时需要禁止其他对象使用变量和方法,这时可以使用修饰符来实现这个目的。
Java实验2
实验2类和对象一、实验目的:1、学习定义类和使用类创建对象。
2、掌握对象变量和普通变量的区别,学习掌握使用对象调用其成员的方法。
3、学习掌握类的构造方法。
4、学习掌握给方法传递对象。
5、学习掌握类变量、类方法。
6、学习掌握关键字this。
7、学习掌握类抽象的概念。
二、实验任务:1、使用Java SDK建立一个非图形化的标准Java程序,学习类的定义、使用类创建对象、通过对象调用其成员、类的构造方法的作用、如何给方法传递对象、掌握静态变量、静态方法的用法。
程序要求:(1)首先创建Circle类表示平面上的圆,要求该类具备构造方法,以初始化表示半径的私有数据成员radius;具备求圆面积的方法;还要具备一个静态数据成员numOfObjects,用来统计程序运行过程中创建圆对象的个数。
(2)创建一个静态方法public static void printCircle(Circle c),功能是输出参数圆对象c的相关信息,包括半径和面积的值。
(不是Circle的成员方法)(3)程序运行中创建2个以上的圆对象,分别输出相关信息,并统计输出对象的数目。
2、使用Java SDK建立一个非图形化的标准Java程序,进一步学习上述的内容以及关键字this的使用和类抽象的概念。
程序要求:(1)首先创建有理数类Rational,该类包含构造方法和加、减、乘、除方法。
(2)程序主方法中创建两个有理数对象,分别进行加、减、乘、除运算,并输出运算结果。
三、实验步骤:1、使用Windows写字板编辑源程序如下。
public class TestInstanceAndClassVariable{// Main methodpublic static void main(String[] args){// Create circle1Circle circle1 = new Circle();// Display circle1 BEFORE circle2 is createdSystem.out.println("Before creating circle2");System.out.print("circle1 is : ");printCircle(circle1);// Create circle2Circle circle2 = new Circle(5);// Change the radius in circle1circle1.setRadius(9);// Display circle1 and circle2 AFTER circle2 was createdSystem.out.println("\nAfter creating circle2 and modifying " +"circle1's radius to 9");System.out.print("circle1 is : ");printCircle(circle1);System.out.print("circle2 is : ");printCircle(circle2);}// Print circle informationpublic static void printCircle(Circle c){System.out.println("radius (" + c.getRadius() +") and number of Circle objects (" +c.getNumOfObjects() + ")");}}// Circle.java: Circle class with instance and class variablesclass Circle{private double radius;private static int numOfObjects = 0; // Class variable// Default constructorpublic Circle(){radius = 1.0;numOfObjects++;}// Construct a circle with a specified radiuspublic Circle(double r){radius = r;numOfObjects++;}// Getter method for radiuspublic double getRadius(){return radius;}// Setter method for radiuspublic void setRadius(double newRadius){radius = newRadius;}// Getter method for numOfObjectspublic static int getNumOfObjects(){return numOfObjects;}// Find circle areapublic double findArea(){return radius*radius*Math.PI;}}2、把上面编辑的源程序保存成Java源程序文件(扩展名为java),程序文件名为TestInstanceAndClassVariable.java。
JAVA实验2报告
实验二系统类和数组一、实验目的1、通过字符串处理类的应用,掌握系统类的使用方法。
2、掌握数组的定义和使用。
3、进一步掌握 Java 程序设计的基本过程和基本方法。
二、实验内容1、应用数组和字符串,编写一个用于统计学生成绩的程序,运行之后,首先能接受用户输入不超过10 个学生的姓名和 Java 课的分数。
输入结束之后,能输出这批学生的 Java 课最高分者和最低分者的姓名和分数。
还能接受用户输入学生姓名来查询某学生的成绩,当姓名不存在时,向用户提示不存在该学生。
2、通过应用 Java 中常用的数组和字符串,编写一个简单的通讯录程序,来熟悉系统类和数组的应用。
通讯录由多条记录构成。
每条记录包括一个联系人的姓名、性别、电话、通信地址,并具有显示、查询、增加、修改、删除等功能,且每执行一次功能操作后,可以选择用类似以下的格式,输出通讯录的所有信息记录:编号姓名性别电话通信地址01 张三男 123456 上海02 李四女 456789 桂林可考虑用数组分别存储姓名,性别,电话,通信地址,那么显示、查询,增加、修改、删除操作就可转换为对数组元素的操作。
通讯录中的所有记录的每一个字段可以采用一维或二维或其它类型数组来存放。
请发挥自己的思考能力,用自己熟悉的或者觉得更合理的方式来设计程序解决问题,完成该实验。
三、设计过程分析1)定义一个学生类,学生类的成员变量包括String 类的学生姓名,Float类型的JAVA 成绩。
然后在,main类中申明、创建学生类对象数组,并且通过对象的成绩成员变量查找最高分和最低分。
2)定义一个People类,包含编号、姓名、性别、电话、通讯地址五个成员变量。
在main类中的主函数里,申明并创建People类对象数组。
通过调用数组对象的成员变量实现查找、修改、删除的作用,而添加直接是一个新的People类对象,并赋值给数组。
四、测试数据和运行结果1)依次输入四名学生的姓名和成绩李明 88王红 75张丽 60黄敏 90输出最高分和最低分学生信息输入要查询的学生姓名王红输出查询的该学生信息(测试截图如下)2)初次使用先添加2个成员,然后再测试添加功能、查询功能、删除功能、显示功能,部分测试数据及输出结果如下截图五、问题与总结问题:定义一个对象数组时,运行时,会导致NullPointerException错误,在循环对象数组成员元素时发生逻辑错误,导致查询成功后仍然提示未找到该成员。
Java程序设计实验指导书二
实验指导二实验1:Eclipse的安装与配置一、实验目的〔1〕学习从网络上下载并安装配置Eclipse开发工具。
〔2〕学习编写简单的java程序〔3〕学习编写部署JSP工程。
二、实验任务用Eclipse完成简单的JSP页面网页三、实验容Eclipse的安装与配置1.安装Eclipse略2.Eclipse的环境配置先运行MyEclipse软件,第一次运行时需要建立一个工程文件目录,这里根据个人习惯自行建立。
进入Eclipse界面后:第一步:选择建立Java工程。
第二步:建立class文件第三步: 实现Hello World程序第四步: 用Eclipse 执行Hello World程序实验2:Java类与对象一、实验目的〔1〕掌握Java类的继承关系和派生方法。
〔2〕理解多态的概念与使用。
〔3〕掌握接口的定义和使用。
二、实验任务〔1〕按要求编写一个Java程序。
〔2〕按要求完善一个Java程序,编译、运行这个程序,并写出运行结果。
三、实验容1.编写一个Java程序片断,以定义一个表示学生的类Student。
这个类的属性有"学号〞、"班号〞、"〞、"性别〞、"年龄〞,方法有"获得学号〞、"获得班号〞、"获得性别〞、"获得〞、"获得年龄〞、"获得年龄〞。
2.为类Student增加一个方法public String toString( ),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。
编写一个Java Application程序,创立Student类的对象,并验证新增加的功能。
class Student{private long studentID;private int classID;private String name;private String sex;private int age;public Student(long studentID,int classID,String name,String sex,int age){ this.studentID=studentID;this.classID=classID;=name;this.sex=sex;this.age=age;}public long getStudentID(){return studentID;}public int getClassID(){return classID;}public String getName(){return name;}public String getSex(){return sex;}public int getAge(){return age;}public String toString(){return "学号:"+getStudentID()+"\n班号:"+getClassID()+"\n:"+getName()+"\n性别:"+getSex()+"\n年龄:"+getAge();}}public class StudentDemo{public static void main(String[] args){Student s1=new Student(90221,2,"Tom","male",20);}}运行结果:实验3:使用修饰符有时需要公开一些变量和方法,有时需要制止其他对象使用变量和方法,这时可以使用修饰符来实现这个目的。
java 实验二
电子信息学院实验报告书课程名:《Java程序设计》题目:实验二java语言基础实验类别设计班级:学号:姓名:实验态度:认真()一般()差()实验结果:正确()部分正确()错()实验理论:掌握()熟悉()了解()不懂()操作技能:强()一般()差()实验报告:好()一般()差()成绩:指导教师:批阅时间:年月日一、实验目的和要求掌握基本数据类型;掌握常量和变量;掌握数据类型转换、运算符;掌握表达式;掌握程序流程控制语句:if和switch语句;for、while、do~while循环语句;break、continue和return语句;掌握一维数据和多维数组和字符串。
二、实验内容和步骤1)编写一个Java程序,用for循环语句求1+3+5+…+99的值(p23)此处粘贴程序代码///app1.javapublic class app1{public static void main(String[]args){int i,sum=0;for(i=1;i<100;i=i+2)sum=sum+i;System.out.println("sum="+sum);}}此处粘帖运行结果图1-1程序运行结果2)编写一个Java程序,在程序中从键盘输入一个范围在50-100的整数,如果不正确则提示继续输入;然后求1到用户所输入整数的累加和。
((p25)此处粘贴程序代码importjava.util. *;public class app2{public static void main(String[] args){ int a=0,i=0,s=0;Scanner reader=new Scanner(System.in);while(a<50||a>100){ System.out.println("从键盘输入一个50~100的整数:");a=reader.nextInt();}System.out.println("你输入的数是" +a);while(i<=a) { s=s+i; i++;}System.out.println("1+2+3+…+"+a+"=" +s);}}此处粘帖运行结果图2-1程序运行结果3)编写一个Java程序,让用户通过键盘输入一个0-6的整数,根据输入显示今天是星期几。
java实验二实验报告模板
实验二:java 程序设计一、实验目的与要求一、实验目的与要求1、了解、了解Java Java 的数据类型;的数据类型;2、掌握各种变量的声明方式;、掌握各种变量的声明方式;3、理解运算符的优先级;、理解运算符的优先级;4、掌握、掌握Java Java 基本数据类型、运算符与表达式、数组的使用方法;基本数据类型、运算符与表达式、数组的使用方法;5、理解理解Java Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法;6、通过以上内容,掌握、通过以上内容,掌握Java Java语言的编程规则。
二、实验内容二、实验内容读入一个浮点数值,将其转换为中文金额的大写方式,如123.45,123.45,转换为转换为转换为::壹佰贰拾叁元肆角伍分。
要求:肆角伍分。
要求:(1)当金额为整数时,当金额为整数时,只表示整数部分,只表示整数部分,只表示整数部分,省略小数部分,省略小数部分,省略小数部分,并添加并添加“整”字。
例如,123123表示为表示为表示为::壹佰贰拾叁元整;壹佰贰拾叁元整;(2)当金额中含有连续的当金额中含有连续的00时,只需写一个“零”即可,例如, 10005表示为:表示为:壹万零伍元整; (3)1010的表示方式,例如,的表示方式,例如,的表示方式,例如,110110110元表示为:壹佰壹拾元整,而元表示为:壹佰壹拾元整,而元表示为:壹佰壹拾元整,而101010则表示为:拾元整。
则表示为:拾元整。
则表示为:拾元整。
提示:将字符串型转换为浮点型可以用提示:将字符串型转换为浮点型可以用Float.parseFloat(s)Float.parseFloat(s)Float.parseFloat(s)函数转换。
函数转换。
函数转换。
三、实验器材三、实验器材微机微机+windows +windows +windows操作系统操作系统操作系统+eclipse +eclipse +eclipse四、实验步骤四、实验步骤1、程序代码、程序代码import java.io.*;import java.util.Scanner; public class ee { /*** @param args*/ public static void main(String[] args) { // TODO Auto-generated method stub /** * 数据输入*/ System.out .println(.println(""请输入一个实数"); InputStream is=System.in ; Scanner scan=new Scanner(is); float y=scan.nextFloat(); System.out .println(.println("y=""y="+y);float x=y; int ix=(int )x;)x;////整数部分float px=x-ix; px=x-ix;////小数部分String cx=ix+String cx=ix+""""; String cy=px+String cy=px+""""; /*** 处理整数部分,采用二进制转换思想*/ int []zhengshu=new int [cx.length()]; int i=0;if (cx.length()<=4) { while (ix>0) { zhengshu[i]=ix-ix/10*10;zhengshu[i]=ix-ix/10*10;////求出余数,并赋给数组zhengshui++;ix=ix/10;ix=ix/10;////商}} /*** 整数钱币输出*/for (int ii=cx.length()-1;ii>=0;ii--) { if (zhengshu[ii]==0) { if (ii!=0) { if (zhengshu[ii-1]!=0) {System.out .println(.println(""零");}}if (ii==0) {System.out .print(.print(""圆");}}if(zhengshu[ii]!=0){if(ii==3){.print(""壹仟");if(zhengshu[ii]==1) System.out.print(.print(""贰仟"); if(zhengshu[ii]==2) System.out.print(.print(""叁仟"); if(zhengshu[ii]==3) System.out.print(.print(""肆仟"); if(zhengshu[ii]==4) System.out.print(.print(""伍仟"); if(zhengshu[ii]==5) System.out.print(.print(""陆仟"); if(zhengshu[ii]==6) System.out.print(.print(""柒仟"); if(zhengshu[ii]==7) System.out.print(.print(""捌仟"); if(zhengshu[ii]==8) System.out.print(.print(""玖仟"); if(zhengshu[ii]==9) System.out.print(}if(ii==2){.print(""壹佰");if(zhengshu[ii]==1) System.out.print(.print(""贰佰"); if(zhengshu[ii]==2) System.out.print(.print(""叁佰"); if(zhengshu[ii]==3) System.out.print(.print(""肆佰"); if(zhengshu[ii]==4) System.out.print(.print(""伍佰"); if(zhengshu[ii]==5) System.out.print(.print(""陆佰"); if(zhengshu[ii]==6) System.out.print(.print(""柒佰"); if(zhengshu[ii]==7) System.out.print(.print(""捌佰"); if(zhengshu[ii]==8) System.out.print(.print(""玖佰"); if(zhengshu[ii]==9) System.out.print(}if(ii==1){.print(""壹拾");if(zhengshu[ii]==1) System.out.print(.print(""贰拾"); if(zhengshu[ii]==2) System.out.print(.print(""叁拾"); if(zhengshu[ii]==3) System.out.print(.print(""肆拾"); if(zhengshu[ii]==4) System.out.print(.print(""伍拾"); if(zhengshu[ii]==5) System.out.print(.print(""陆拾"); if(zhengshu[ii]==6) System.out.print(.print(""柒拾"); if(zhengshu[ii]==7) System.out.print(.print(""捌拾"); if(zhengshu[ii]==8) System.out.print(.print(""玖拾"); if(zhengshu[ii]==9) System.out.print(}if(ii==0){.print(""壹圆");if(zhengshu[ii]==1) System.out.print(.print(""贰圆"); if(zhengshu[ii]==2) System.out.print(.print(""叁圆"); if(zhengshu[ii]==3) System.out.print(.print(""肆圆"); if(zhengshu[ii]==4) System.out.print(.print(""伍圆"); if(zhengshu[ii]==5) System.out.print(.print(""陆圆"); if(zhengshu[ii]==6) System.out.print(.print(""柒圆"); if(zhengshu[ii]==7) System.out.print(.print(""捌圆"); if(zhengshu[ii]==8) System.out.print(.print(""玖圆"); if(zhengshu[ii]==9) System.out.print(}}}/*** 处理小数部分*/float yushu;int xiaoshu[]=new int[2];xiaoshu[0]=(int)(px*10);yushu=px*10-xiaoshu[0];xiaoshu[1]=(int)(yushu*10);if(xiaoshu[0]!=0){.print(""壹角");if(xiaoshu[0]==1) System.out.print(.print(""贰角");if(xiaoshu[0]==2) System.out.print(.print(""叁角");if(xiaoshu[0]==3) System.out.print(.print(""肆角");if(xiaoshu[0]==4) System.out.print(.print(""伍角");if(xiaoshu[0]==5) System.out.print(.print(""陆角");if(xiaoshu[0]==6) System.out.print(.print(""柒角");if(xiaoshu[0]==7) System.out.print(.print(""捌角");if(xiaoshu[0]==8) System.out.print(.print(""玖角");if(xiaoshu[0]==9) System.out.print(}else{if(xiaoshu[0]==0){if(xiaoshu[1]!=0).println(""零");System.out.println(}}if(xiaoshu[1]!=0){if (xiaoshu[1]==1) System.out .print(.print(""壹分"); if (xiaoshu[1]==2) System.out .print(.print(""贰分"); if (xiaoshu[1]==3) System.out .print(.print(""叁分"); if (xiaoshu[1]==4) System.out .print(.print(""肆分"); if (xiaoshu[1]==5) System.out .print(.print(""伍分"); if (xiaoshu[1]==6) System.out .print(.print(""陆分"); if (xiaoshu[1]==7) System.out .print(.print(""柒分");if (xiaoshu[1]==8) System.out .print(.print(""捌分");if (xiaoshu[1]==9) System.out .print(.print(""玖分"); }}}五、实验结果五、实验结果请输入一个实数请输入一个实数 34.678 y=34.678 叁拾肆圆陆角柒分叁拾肆圆陆角柒分请输入一个实数请输入一个实数 123.23 y=123.23壹佰贰拾叁圆贰角叁分壹佰贰拾叁圆贰角叁分请输入一个实数请输入一个实数 110.00 y=110.0 壹佰壹拾圆壹佰壹拾圆六、实验小结六、实验小结1、通过这个实验巩固了、通过这个实验巩固了java java java的基础知识:包括数据类型、变量的声明方式、运算符的的基础知识:包括数据类型、变量的声明方式、运算符的优先级、表达式的应用、数组的使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java 语言程序设计习题2
1.创建类,表示职员,取名为Employee。
a)添加成员变量,姓名、年龄、岗位、月薪。
(名称随意)
b)添加构造方法,可以设定姓名、年龄、岗位、月薪。
c)添加成员方法,可以读取并显示姓名、年龄、岗位、月薪。
d)添加成员方法,涨薪,给职员增加指定比例的月薪。
e)进行测试:创建3个职员实例,姓名、年龄、月薪任意。
f)进行测试:创建数组Employee e[],将创建的3个职员放入e。
g)进行测试:使用循环语句显示e中所有职员的信息。
h)进行测试:使用循环语句于e中所有职员增加10%月薪,重新显示所有
职员。
2.编写如下程序。
a)创建类,表示饭卡,取名为Card。
b)Card添加成员变量,double balance,表示余额。
c)Card添加构造方法,创建实例时设置余额。
d)Card添加成员方法,charge(double b),表示付费,调用后余额减b。
e)Card添加成员方法,getBalance(),返回余额值。
f)创建类,表示食堂,取名为Canteen。
g)Canteen添加成员方法,order(Card c, String s),表示用“c”这张卡购买
“s”这个食物。
如果购买的是“rice”,c的余额减1,并显示余额值;
如果购买的是“milk”,c的余额减2,并显示余额值;如果都不是,显
示“No such food!”
h)进行测试,创建Card与Canteen实例,购买“rice”、“milk”、“coffee”。
3.剩余时间调试教科书2、3章例题。
报告书电子版:新建记事本(.txt)文件,复制各题的程序代码(复制时请标注class 名称,如:p1.java)。
文件名为: 学号_姓名.txt
程序源代码:左侧project文件->鼠标右键->properties,可查看源代码路径。
将project文件夹(例:123456_小明)整体压缩。
文件名为: 学号_姓名.zip(或rar)
请严格准守文件名格式,下周之内把两个文件交给班长。