JAVA实验 (2)
Java实验2
实验二控制结构、数组程序设计【实验目的和要求】实验目的:巩固JAVA语言编程基础知识、掌握JAVA控制流,数组操作。
实验要求:了解IDE集成开发工具的使用;掌握if-else多分支结构;掌握switch-case 多分支结构;掌握循环语句,熟练使用do-while循环、增强for循环的使用、循环的嵌套调用;理解break、continue语句、标号语句;掌握数组的声明、初始化及基本使用方法。
【实验原理】if-else多分支结构、switch-case多分支结构、循环语句、break、continue语句。
数组的声明和使用原则。
【实验步骤】1.IDE集成开发工具的使用安装JDK开发工具,配置PATH和CLASSPATH环境变量。
安装Eclipse,熟悉开发IDE环境设置,熟悉工程的创建、导入和导出等。
2.多分支结构训练任务(1)设计程序,输入成绩在0到100之间,根据成绩输出不及格、及格、中等、良好、优秀。
(2)输入年份,判断是否是闰年。
(上述(1)、(2)可选其一编程)import java.util.Scanner;public class lz {public static void main(String[] args){System.out.println("请输入一个年份");Scanner sc=new Scanner(System.in);int a=sc.nextInt();if(a %4==0&a %100!=0|a %400==0){System.out.println("这是闰年");} else {System.out.println("这是不闰年");}}}3.循环结构训练任务设计程序,输入一个数,判断是否是质数。
(较高要求:打印1-1000以内所有质数)import java.util.Scanner;public class lz {public static void main(String[] args) {//System.out.println("请输入一个数");//Scanner sc=new Scanner(System.in);//int a=sc.nextInt();for(int a=2;a<=1000;a++){for(int b=2;b<=a;b++){if(a%b==0&&a!=b){break;}if(a%b==0&&a==b) {System.out.println(a);}}}}}4.数组训练任务(1)设计程序,对一个数组进行排序,并打印排序前后结果。
实验二 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实验二试验报告
姓名学号:班级:说明:实验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实验报告
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程序控制结构
一、实验目的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语言基础
一、实验目的
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 实验二报告
§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类的结构,掌握类的定义、方法和属性的定义以及对象的实现,通过编程和上机实验理解Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP 方式进行程序设计的方法二、实验内容:1.定义一个“圆”类,该圆类的数据成员包括:圆心点位置及圆的半径;方法成员有:设置圆心位置、获取圆的圆心位置及构造方法。
要求构造方法、可以接收圆心位置参数,而半径使用缺省值1;2.定义以上圆的子类,使它具有获取半径方法、设置半径方法和构造方法,要求构造方法可同时接收圆心位置及半径两个参数;3.编写完整的程序实现上述两个圆类的对象,并且分别调用各种方法,对比这些方法的执行结果,并据此写出详细的实验报告。
4.掌握对修饰符的使用三、实验要求:1. 实现两个类的继承关系;2. 用多种方法实现两个类的对象;3. 程序应包括各个被调用方法的执行结果的显示。
4.四、实验步骤:第一部分:1.进入Java编程环境;2. 新建一个Java文件,命名为circles. java;3. 定义圆类fatherCircle,按实验内容1定义它的属性和方法;4. 定义子类sonCircle,按实验内容2定义它的属性和方法;5. 定义主类和主方法,构建上述两个类的对象fatherObject和sonObject,并通过这两个对象调用它们的属性和方法,输出方法执行结果。
第二部分:使用修饰符有时需要公开一些变量和方法,有时需要禁止其他对象使用变量和方法,这时可以使用修饰符来实现这个目的。
常用的修饰符如下。
[public] [private] [protected] [package] [static] [final] [transient] [volatile]不同修饰符的访问控制权限如表6.1 所示。
(1)程序功能:通过两个类说明静态变量、方法与实例变量、方法的区别。
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面向对象设计试验时间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实验二、类与对象一、实验目的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());。
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实验报告(二)是对Java编程语言的实验进行的总结与分析。
本文将通过对实验过程中的操作和结果进行详细阐述,对Java的特性和应用进行深入探索,以及提供了一系列实验结果和实验过程中的问题及解决方案。
本文共分为引言概述、正文内容、总结三个部分。
正文内容:一、Java语言基础1.1Java的历史和特点1.2Java语言的基本特性1.3Java的运行机制1.4Java的数据类型和变量1.5Java中的运算符和表达式二、控制流语句与循环结构2.1条件控制语句2.2循环结构2.3跳转语句三、面向对象编程3.1类与对象3.2封装、继承与多态3.3抽象类与接口3.4异常处理3.5文件操作与IO流四、Java核心技术4.1Java集合框架4.2多线程编程4.3网络编程4.4GUI开发4.5数据库连接和操作五、Java应用案例分析5.1图书管理系统5.2学生信息管理系统5.3电子商务系统5.4银行管理系统5.5在线聊天程序总结:在Java实验报告(二)中,我们系统地学习了Java语言的基础知识、控制流语句与循环结构、面向对象编程、Java核心技术以及Java应用案例分析。
通过实验和实践,我们提高了对Java编程语言的理解和应用能力,为今后的学习和工作奠定了坚实的基础。
希望通过这次实验报告的撰写,能够对读者们对Java编程语言有更全面和深入的认识,激发对于编程的兴趣和灵感。
引言:Java是一种面向对象的编程语言,具有跨平台、高性能和可靠性等优点。
本文将对Java实验进行详细报告,包括实验目的、实验方法、实验结果及分析、问题和解决方案等方面。
概述:本次实验旨在通过编写Java程序,加深对Java语言及其相关知识的理解和掌握。
实验主要分为五个大点,包括环境搭建、基本语法、面向对象编程、异常处理和文件操作。
每个大点将分别进行详细阐述。
正文内容:1.环境搭建1.1安装JDK1.2配置环境变量1.3设置IDE2.基本语法2.1数据类型2.2变量和常量2.3运算符2.4控制语句2.5循环语句3.面向对象编程3.1类和对象3.2继承3.3多态3.4封装3.5接口和抽象类4.异常处理4.1异常的概念4.2异常处理机制4.3trycatch语句4.4finally语句4.5自定义异常5.文件操作5.1文件的读写5.2文件的创建和删除5.3文件的复制和移动5.4文件的压缩和解压缩5.5文件的读写性能优化实验结果及分析:通过实验,我们成功搭建了Java开发环境,并学习了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程序设计实验报告_2
Java程序设计实验报告姓名:学号:班级:课题名称(附程序名):JAVA计算器(Calculator.java)一、实验目的通过JAVA图形接口的应用,编写出一图形界面的科学计算器;熟悉JAVA程序开发的一般步骤,掌握事件驱动,并能掌握一定的Java 编程能力,在实践中能感受Java的奥秘!同时检验自己的学习成果。
二、实验任务具有加减乘除的计算器,可以延伸到开方等其他的一些计算。
三、开发工具与平台Microsoft Visual Studio 2005四、设计思路:1)界面设计2)逻辑设计首先明确该实验设计的要求实现的基本功能,其次设计布局,将空间划分为由行和列组成的网格单元,每个单元放一个组件,网格单元大小可以不同,尽量将相同属性的按钮放在一个区域,方便操作。
3)软件调试与测试经过调试之后,能实现基本的四则运算,并能实现开方和消除错误的数。
4)软件设计优化该软件的界面应该更加流畅,同时我相信随着自己只是的日益丰富,开发软件的速度更快,效率更高,功能更加全面!5)实验总结不足:没有实现Mc,MR,MS,M+以及菜单栏几个功能,有待进一步完善。
这样才能够完成自己的第一个应用软件设计!优点:通过本次实验设计,大体了解了Java图形接口的应用,并在过程中增强了对程序的调试能力。
对JAVA有了更深一步的理解,学会如何解决问题,如何坚持对程序的调试,同时也增强了自己学习Java的信心。
五、附录源程序如下:import java.awt.BorderLayout;import java.awt.Container;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.GridLayout;import java.awt.Insets;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JPanel;import javax.swing.JTextField;public class Calculator extends JFrame implements ActionListener { boolean init = true;boolean isMath = false;boolean clear = true;boolean clickable = true;double qian;String fuhao;int all = 0;JTextField text = new JTextField(25);JButton bM = new JButton();JButton bMC = new JButton("MC");JButton bMR = new JButton("MR");JButton bMS = new JButton("MS");JButton bMADD = new JButton("M+");JButton b0 = new JButton("0");JButton b1 = new JButton("1");JButton b2 = new JButton("2");JButton b3 = new JButton("3");JButton b4 = new JButton("4");JButton b5 = new JButton("5");JButton b6 = new JButton("6");JButton b7 = new JButton("7");JButton b8 = new JButton("8");JButton b9 = new JButton("9");JButton bNOP = new JButton("+/-");JButton bDot = new JButton(".");JButton bDiv = new JButton("/");JButton bMul = new JButton("*");JButton bSub = new JButton("-");JButton bAdd = new JButton("+");JButton bSprt = new JButton("sprt");JButton bMod = new JButton("%");JButton bDao = new JButton("1/x");JButton bEqual = new JButton("=");JButton bBackspace = new JButton("Backspace"); JButton bCE = new JButton("CE");JButton bC = new JButton("C");public Calculator() {this.setTitle("计算器");JMenuBar mainMenu = new JMenuBar();setJMenuBar(mainMenu);JMenu editMenu = new JMenu("编辑");JMenu viewMenu = new JMenu("查看");JMenu helpMenu = new JMenu("帮助");mainMenu.add(editMenu);mainMenu.add(viewMenu);mainMenu.add(helpMenu);JPanel jpDisplay = new JPanel();JPanel jpInput = new JPanel();JPanel jpLeft = new JPanel();JPanel jpRight = new JPanel();text.setText("0.");text.setHorizontalAlignment(JTextField.RIGHT); jpDisplay.add(text);bM.addActionListener(this);bMC.addActionListener(this);bMS.addActionListener(this);bMR.addActionListener(this);bMADD.addActionListener(this);jpLeft.setLayout(new GridLayout(5, 1)); jpLeft.add(bM);jpLeft.add(bMC);jpLeft.add(bMR);jpLeft.add(bMS);jpLeft.add(bMADD);JPanel jpInnerN = new JPanel();JPanel jpInnerS = new JPanel();bBackspace.addActionListener(this);bCE.addActionListener(this);bC.addActionListener(this);jpInnerN.setLayout(new GridLayout(1, 3)); jpInnerN.add(bBackspace);jpInnerN.add(bCE);jpInnerN.add(bC);b0.addActionListener(this);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this);b7.addActionListener(this);b8.addActionListener(this);b9.addActionListener(this);bNOP.addActionListener(this);bDot.addActionListener(this);bDiv.addActionListener(this);bMul.addActionListener(this);bSub.addActionListener(this);bAdd.addActionListener(this);bSprt.addActionListener(this);bMod.addActionListener(this);bDao.addActionListener(this);bEqual.addActionListener(this);jpInnerS.setLayout(new GridLayout(4, 5));jpInnerS.add(b7);jpInnerS.add(b8);jpInnerS.add(b9);jpInnerS.add(bDiv);jpInnerS.add(bSprt);jpInnerS.add(b4);jpInnerS.add(b5);jpInnerS.add(b6);jpInnerS.add(bMul);jpInnerS.add(bMod);jpInnerS.add(b1);jpInnerS.add(b2);jpInnerS.add(b3);jpInnerS.add(bSub);jpInnerS.add(bDao);jpInnerS.add(b0);jpInnerS.add(bNOP);jpInnerS.add(bDot);jpInnerS.add(bAdd);jpInnerS.add(bEqual);jpRight.setLayout(new BorderLayout());jpRight.add(jpInnerN, BorderLayout.NORTH);jpRight.add(jpInnerS, BorderLayout.CENTER);jpInput.setLayout(new BorderLayout());jpInput.add(jpLeft, BorderLayout.WEST);jpInput.add(jpRight, BorderLayout.CENTER);Container pane = this.getContentPane();pane.setSize(333, 208);this.setLocation(300, 200);this.setLayout(new BorderLayout());pane.add(jpDisplay, BorderLayout.CENTER);pane.add(jpInput, BorderLayout.SOUTH);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.pack();this.setVisible(true);}public void actionPerformed(ActionEvent e) {if (init)this.text.setText("0.");init = false;Object source = e.getSource();if (source == bBackspace) {String s = text.getText();text.setText("");for (int i = 0; i < s.length() - 1; i++) { char a = s.charAt(i);text.setText(text.getText() + a);}System.out.println("backspace");}if (source == bCE) {text.setText("0.");clear = true;init = true;System.out.println("CE");}if (source == bC) {text.setText("0.");clear = true;init = true;System.out.println("C");}if (source == bM) {System.out.println("M");}if (source == bMC) {System.out.println("MC,功能末实现");}if (source == bMR) {System.out.println("MR,功能末实现");}if (source == bMS) {System.out.println("MS,功能末实现");}if (source == bMADD) {System.out.println("M+,功能末实现");}if (source == b0) {System.out.println("0");if (clear == false)// 判断是否点击了符号位text.setText("");text.setText(text.getText() + "0");}if (source == b1) {if (clear == false)text.setText("");text.setText(text.getText() + "1");clear = true;// 第二次不在清空(前二句)}if (source == b2) {System.out.println("2");if (clear == false)text.setText("");text.setText(text.getText() + "2");clear = true;}if (source == b3) {System.out.println("3");if (clear == false)text.setText("");text.setText(text.getText() + "3");clear = true;}if (source == b4) {System.out.println("4");if (clear == false)text.setText("");text.setText(text.getText() + "4");clear = true;}if (source == b5) {System.out.println("5");if (clear == false)text.setText("");text.setText(text.getText() + "5");clear = true;}if (source == b6) {System.out.println("6");if (clear == false)text.setText("");text.setText(text.getText() + "6");clear = true;}if (source == b7) {System.out.println("7");if (clear == false)text.setText("");text.setText(text.getText() + "7");clear = true;}if (source == b8) {System.out.println("8");if (clear == false)text.setText("");text.setText(text.getText() + "8");clear = true;}if (source == b9) {System.out.println("9");if (clear == false)text.setText("");text.setText(text.getText() + "9");clear = true;}try{if (source == bNOP) {System.out.println("+/-");boolean isNumber = true;String s = text.getText();for (int i = 0; i < s.length(); i++)if (!(s.charAt(i) >= '0' && s.charAt(i) <= '9'|| s.charAt(i) == '.' || s.charAt(i) == '-')) {isNumber = false;break;}if (isNumber == true) {// 如果当前字符串首字母有'-'号,代表现在是个负数,再按下时,则将首符号去掉if (s.charAt(0) == '-') {text.setText("");for (int i = 1; i < s.length(); i++) {char a = s.charAt(i);text.setText(text.getText() + a);}}// 如果当前字符串第一个字符不是符号,则添加一个符号在首字母处elsetext.setText('-' + s);}}if (source == bDot) {System.out.println(".");clickable = true;for (int i = 0; i < text.getText().length(); i++)if ('.' == text.getText().charAt(i)) {clickable = false;break;} // 第一层判断是否里面含有小数点;if (clickable == true)// 第二层判断text.setText(text.getText() + ".");}if (source == bDiv) {System.out.println("/");qian = Double.parseDouble(text.getText());fuhao = "/";clear = false;}if (source == bMul) {System.out.println("*");qian = Double.parseDouble(text.getText());fuhao = "*";clear = false;}if (source == bSub) {System.out.println("-");qian = Double.parseDouble(text.getText());fuhao = "-";clear = false;}if (source == bAdd) {System.out.println("+");qian = Double.parseDouble(text.getText());fuhao = "+";clear = false;}if (source == bSprt) {System.out.println("sprt");String s = text.getText();if (s.charAt(0) == '-') {text.setText("负数不能开根号");} elsetext.setText(Double.toString(ng.Math.sqrt(Double.parseDouble(text.getText()))));clear = false;}if (source == bMod) {System.out.println("%,功能末实现");}if (source == bDao) {System.out.println("1/x");if (text.getText().charAt(0) == '0'&& text.getText().length() == 1) {text.setText("除数不能为零");} else {boolean isDec = true;int i, j, k;String s= Double.toString(1 / Double.parseDouble(text.getText()));for (i = 0; i < s.length(); i++)if (s.charAt(i) == '.')break;for (j = i + 1; j < s.length(); j++)if (s.charAt(j) != '0') {isDec = false;break;}if (isDec == true) {String stemp = "";for (k = 0; k < i; k++)stemp += s.charAt(k);text.setText(stemp);} elsetext.setText(s);}clear = false;}if (source == bEqual) {System.out.println("=");Double ss=Double.parseDouble(text.getText());text.setText("");if (fuhao == "+")text.setText(qian + ss + "");if (fuhao == "-")text.setText(qian - ss + "");if (fuhao == "*")text.setText(qian * ss + "");if (fuhao == "/")text.setText(qian / ss + "");clear = false;// 要清空前一次的数据;}}catch (Exception ee) {System.out.println("请正确输入");text.setText("运算出错,给您带来不便,sorry");clear = false;}}public static void main(String[] args) {new Calculator();}}11。
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报告
实验二系统类和数组一、实验目的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实验二实验报告模板
实验二: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的基础知识:包括数据类型、变量的声明方式、运算符的的基础知识:包括数据类型、变量的声明方式、运算符的优先级、表达式的应用、数组的使用。
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{public static void main(String[]args) {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(){return numOfObjects;}public double findArea(){return radius*radius*Math.PI;}}实验结果:// Find GCD of two numbersprivate long gcd(long n, long d){long t1 = Math.abs(n);long t2 = Math.abs(d);long remainder = t1%t2;while (remainder != 0){t1 = t2;t2 = remainder;remainder = t1%t2;}return t2;}// Getter method for numeratorpublic long getNumerator(){return numerator;}public long getDenominator(){return denominator;}// Add a rational number to this rationalpublic Rational add(Rational secondRational){long n = numerator*secondRational.getDenominator() +denominator*secondRational.getNumerator();long d = denominator*secondRational.getDenominator();return new Rational(n, d);}// Subtract a rational number from this rationalpublic Rational subtract(Rational secondRational){long n = numerator*secondRational.getDenominator()- denominator*secondRational.getNumerator();long d = denominator*secondRational.getDenominator();return new Rational(n, d);}// Multiply a rational number to this rationalpublic Rational multiply(Rational secondRational)long n = numerator*secondRational.getNumerator();long d = denominator*secondRational.getDenominator();return new Rational(n, d);}// Divide a rational number from this rationalpublic Rational divide(Rational secondRational)throws RuntimeException{if (secondRational.getNumerator() == 0)throw new RuntimeException("Denominator cannot be zero");long n = numerator*secondRational.getDenominator();long d = denominator*secondRational.getNumerator();return new Rational(n, d);}// Override the toString() methodpublic String toString(){if (denominator == 1)return numerator + "";elsereturn numerator + "/" + denominator;}}public class TestRationalClass{// Main methodpublic static void main(String[] args){// Create and initialize two rational numbers r1 and r2.Rational r1 = new Rational(4, 2);Rational r2 = new Rational(2, 3);// Display resultsSystem.out.println(r1.toString() + " + " + r2.toString() + " = " + (r1.add(r2)).toString());System.out.println(r1.toString() + " - " + r2.toString() + " = " + (r1.subtract(r2)).toString());System.out.println(r1.toString() + " * " + r2.toString() + " = " + (r1.multiply(r2)).toString());System.out.println(r1.toString() + " / " + r2.toString() + " = " + (r1.divide(r2)).toString());}实验截图:四、实验结果通过本次实验,我掌握了静态变量和静态方法的使用方法和使用环境。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{ counterValue++; } public void decrement() { counterValue--; } public void reset() { counterValue=0; } public void set(int a) { counterValue=a; } public int getCount() { return counterValue; } }
实验四 类与对象
1. 实验目的 (1) 掌握结构化程序设计的基本结构、分支与循环。 (2) 掌握 Java 程序中方法的定义域调用 (3) 学习阅读、辨别和理解编译错误和运行错误,学习基本的排查错误技巧
2. 实验任务 (1) 阅读下面的程序,在 main 方法里添加语句完成如下的功能: 1 创建一个 MyValue 类的对象 myValue. 2 为 myValue 对象中的 value 域赋值 10. 3 使用 getValue()方法获得 myValue 对象中的数据并将它打印在屏幕上。
(5)使用矩形类,编程统计若干块土地的相关信息。由用户输入每块土地的长与宽, 程序将计算其面积并显示出来。
import java.util.*; public class test4_5 {
public static void main(String args[]) {
rectangle t4=new rectangle(); System.out.println("请输入土地数目:"); Scanner in=new Scanner(System.in); int n=in.nextInt(); for(int i=0;i<n;i++){
} }
构造六个函数ຫໍສະໝຸດ (3)使用计数器类,编程管理会议室投影仪的出借情况。每新购入一台投影仪或收回 一台投影仪,计数器加一;每淘汰一台投影仪,计数器减一。
import java.io.*; public class test4_3_2 { int counterValue; public static void main(String args[]) { test4_3_2 count=new test4_3_2(); count.counterValue=0; java.util.Scanner no= new java.util.Scanner(System.in);
return length*width; } double girth() { return 2*(length+width); } }
public static void main(String args[]) { MyValue myValue=new MyValue(); myValue.setValue(10); System.out.println(myValue.getValue()); }
}
(2) 试编写 Java 代码实现一个计数器类 Counter,其中包括: 域 counterValue 用来保存计数器的当前数值; 方法 increment() 计数器加一; 方法 decrement() 计数器减一 方法 reset() 计数器清零。
System.out.println("请输入投影仪使用状况(购入(1),收回(2),淘汰(3), 借出(4),清零(5),设置当前值(6))");
int command; while(true) {
command=no.nextInt(); switch(command){ case 1: case 2: count.increment(); break; case 3: case 4: if(count.getCount()==0) System.out.println("实验室已经没有投影仪了"); else count.decrement(); break; case 5: count.reset(); break; case 6: count.set(no.nextInt()); break; default: System.out.println("无效的命令"); }
System.out.println("请分别输入土地长,宽:"); t4.length=in.nextDouble(); t4.width=in.nextDouble(); System.out.println("第"+(i+1)+"块土地的面积为:"+t4.area()); }
} }
class rectangle { double length; double width; double area(){
class MyValue {
private int value; public char [] getValue; public void setValue(int x)
{
value=x;
}
public int getValue() { return value; }
}
public class UseValue {
(4)编程实现矩形类,其中应包括计算矩形周长和面积的方法。如何使你的定义更好 的满足面向对象程序设计中信息隐藏和封装原则?对于这个类,你计划定义几个构造函数?
class rectangle { double length; double width; double area(){
return length*width; } double girth() { return 2*(length+width); } }
对于这个类,你计划定义几个构造函数?
public class counter {
public int counterValue = 1;
public static void main(String[] args) {
counter c = new counter(); c.increment(); c.print(); c.decrement(); c.print(); c.reset(); c.print();
}
public void increment() { counterValue ++;
}
public void decrement() { counterValue = counterValue - 1;
}
public void reset() { counterValue = 0;
}
public void print() { System.out.println(counterValue);