武汉科技大学 JAVA实验报告 实验二
java实验报告(二)
实验报告(二)姓名:学号:日期:2015.4.10实验名称:面向对象编程一、实验目的及要求实验目的:通过编程和上机实验理解Java语言是如何体现面向对象编程基本思想,熟悉类的封装方法以及如何创建类和对象,熟悉成员变量和成员方法的特性,熟悉类的继承性和多态性的作用,熟悉包、接口的使用方法,掌握OOP方式进行程序设计的方法。
实验要求:1、编写程序实现类的定义和使用。
2、编写不同成员和不同成员方法修饰方法的程序。
3、编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序和多态性(成员方法重载、构造方法重载)的程序。
4、编写接口的定义和使用的程序。
5、编写包的定义和使用的程序。
二、实验环境Windows XP操作系统,JA V A运行环境实验感想1. java编辑环境中蓝色的是关键字,绿色的是注释,红色的是系统已经定义的包、类或变量; 学习一门语言应该经常性的上机练习,而不是一段时间集中练习几个小时;2. 参数间应该以','隔开;3.java中规定必须要写返回值类型,即Java没有规定方法的默认返回值类型;4. java区分大小写;5. 用户标识第一个字符不应该为数字,Java文件名应该与Java文件内的主类保持一致;6.类只能使用静态方法,对象既可以使用静态方法又可以使用实例方法;静态变量是属于类的,为所有对象共同拥有,实例变量则属于各个对象本身;7.子类的构造方法应通过super()的方式调用父类构造方法;8.在一个类中,方法名可以重名,只要参数不一样就可以了,但变量即使类型不一样,变量名也不能一样;9.在java中,变量必须先要初始化后才能使用;三、实验源程序及运行结果1、(1)定义一个满足如下要求的Date类:a.用下面的格式输出日期:日/月/年b.可运行在日期上加一天操作c.设置日期并用该类编写一个显示当前日期的程序。
class Date1{int date,month,year;public void ShowDate()//以固定格式显示日期{System.out.println(date+"/"+month+"/"+year);}public void AddDate()//在目前日期下加一天{date=date+1;switch(month){ case 1:case 3:case 5:case 7:case 8:case 10:if(date>31){date=date-31;month=month+1;}break;case 12:if(date>31)//当月份为12月31号时,日期加1,年份也应该加1{date=date-31;month=1;year=year+1;}break;case 2: if(this.IsLeapYear())//以是否为闰年为依据进行处理{if(date>29){date=date-29;month=month+1;}}else{if(date>28){date=date-28;month=month+1;}}break;case 4:case 6:case 9:case 11:if(date>31){date=date-31;month=month+1;}break;default:}}public void SetDate(int date,int month,int year)//设置日期{this.date=date;this.month=month;this.year=year;}public Date1(int date,int month,int year)//构造方法{this.date=date;this.month=month;this.year=year;}public boolean IsLeapYear()//判断是否为闰年{boolean x=year%400==0||year%100!=0&&year%4==0;return x;}}public class Test11{public static void main(String args[])//Java文件内的主类只能有一个{Date1 a=new Date1(28,2,2100);System.out.print("目前日期为:");a.ShowDate();a.AddDate();System.out.print("加完一天后的日期为:");a.ShowDate();}}1、(2)创建一个桌子Table类,该类中有桌子名称、重量、桌面宽度、长度及桌子高度属性。
《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实训报告(通用9篇)
java实训报告java实训报告(通用9篇)在当下社会,大家逐渐认识到报告的重要性,写报告的时候要注意内容的完整。
那么一般报告是怎么写的呢?下面是小编精心整理的java实训报告,欢迎大家借鉴与参考,希望对大家有所帮助。
java实训报告篇1一、实训目的1.熟练掌握Java面向对象程序设计的基础知识。
2.熟练掌握Java中常用的Swing组件的使用方法。
3.熟练掌握Java程序中图形用户界面设计的方法。
4.熟练掌握使用JDBC操作数据库的方法。
5.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续Java高级编程等专业课程的学习奠定良好的基础。
二、课程设计报告内容2.1 实训内容本课程设计的题目是设计一个简化的仓库管理系统。
该系统从仓库管理人员的角度出发,实现对货物信息、生产商信息的浏览、添加、删除和查询,同时还可以对货物出货、入货进行操作和控制。
设计内容主要包括系统分析、数据库、数据表的创建、系统各个窗体的布局及其编码实现。
系统功能分析是在系统开发的总体任务的基础上完成的。
该管理系统需要完成的基本功能主要有:用户管理:主要包括用户的添加、修改和删除。
供应商管理:主要包括供应商的添加、删除和修改。
产品管理:主要包括产品的添加、删除和进货、出货。
产品视图管理:主要包括产品查询、数据文件的导入、查询结果集的导出。
2.2 实训设备或软、硬件硬件:PⅣ及以上性能的PC机;软件:Windows 20xx或Windows XP系统;JDK工具;JCreator4.0环境2.3 功能设计及思想本次实训设计采用选择结构化开发方法,即用系统工程的思想和工程化的方法,按照用户至上的原则,自顶向下整体分析与设计和自底向上逐步实施的系统开发过程。
是组织、管理和控制信息系统开发过程的一种基本框架。
其基本思想:在系统分析时,采用自顶向下、逐层分解,由抽象到具体的逐步认识问题的过程;在系统设计的时候,先考虑系统整体的优化,再考虑局部的优化问题;在系统实施的时候,则坚持自底向上,先局部后整体,通过标准化模块的连接形成完整的系统。
java实验实验报告
java实验实验报告Java 实验实验报告一、实验目的本次 Java 实验的主要目的是通过实际操作和编程实践,深入理解和掌握 Java 编程语言的基本概念、语法结构、面向对象编程的思想以及常用类库的使用。
同时,培养我们解决实际问题的能力和编程思维,提高代码的质量和可读性。
二、实验环境1、操作系统:Windows 102、开发工具:IntelliJ IDEA3、 JDK 版本:18三、实验内容(一)基本语法练习1、数据类型与变量在 Java 中,我们学习了不同的数据类型,如整数类型(`int`、`long`)、浮点数类型(`float`、`double`)、字符类型(`char`)和布尔类型(`boolean`)。
通过定义和使用这些变量,我们能够存储和操作各种类型的数据。
```javaint age = 25;double salary = 500050;char grade ='A';boolean isStudent = true;```2、控制结构包括条件语句(`ifelse`、`switch`)和循环语句(`for`、`while`、`dowhile`)。
这些控制结构使我们能够根据不同的条件执行不同的代码块,或者重复执行一段代码。
```javaint num = 10;if (num > 5) {Systemoutprintln("Number is greater than 5");} else {Systemoutprintln("Number is less than or equal to 5");}switch (num) {Systemoutprintln("One");break;case 10:Systemoutprintln("Ten");break;default:Systemoutprintln("Unknown");}for (int i = 0; i < 5; i++){Systemoutprintln(i);}int count = 0;while (count < 3) {Systemoutprintln("Count: "+ count);count++;}count = 0;Systemoutprintln("Count: "+ count);count++;} while (count < 3);```(二)面向对象编程1、类与对象创建了自定义的类来表示现实世界中的实体。
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 Object-Oriented Programming Experimental ReportStudent ID Name ClassLocation Teacher Time1.Experimental purposes and requirements1.1 Print and println, String literals, String concatenation, Escape sequences1.2 Variables, Constants, Assignment, Integers and Floating point, Arithmetic Expressions, Operator Precedence, Input using the Scanner class1.3 HTML, Applets, Graphics, Colors2.Experimental equipment (environment) and requirements2.1 Eclipse2.2 Window XPb Exercises(Please see Lab Manual)3.1 Names and Places(Choose to do)3.1.13.1.23.1.33.2 Table of Student Grades(Choose to do)/\\\\\\\\\\\\\\\\\\\\\\\ (1)(2)(3)3.3 Two Meanings of Plus(1)(2)(3)解释语句一:第一个输出结果是85,没加括号从左到右运算前第一句为字符串则8和5为字符串,有85(4)解释语句二:第二个输出结果为13,在输出语句中默认优先进行带括号的运算,8和5为整型,变成数字之后在从左到右运算,左面第一个为字符串则运算完的13也为字符型(5)解释语句三:无括号,从左到右运算,其中第三句为字符串则从左到右全识别为字符型则853.4 Pre-lab Exercises(1)常量是静态变量,不会更改,全程序共用同一个常量名变量可以在不同类中同时存在不属于本类的变量名,值可以不同(2)第一句:定义变量x第二句:定义整型变量x值为3第三句:啥都不是(3)(4)A 73B -14C 0.3D 3.333E 1.57F 4.03G 0.248H 4.29I 0.31J 1K 1(5)修改语法错误(已修改完)import java.util.Scanner;public class errors{public static void main (String[] args){String Name; // Name of the userint number;int numSq;Scanner scan = new Scanner(System.in);System.out.print ("Enter your name, please: ");Name = scan.nextString();System.out.print ("What is your favorite number?“);number = scan.nextInt();numSq = number * number;System.out.println (Name +", the square of your number is "+numSquared);}}3.5 Area and Circumference of a Circle(1)(2)(3)3.6 Painting a Room(Choose to do) (1)(2)3.7 Ideal Weight(1)(2)3.8 Lab Grades(Choose to do)3.9 Base Conversion(Choose to do)3.10 Introduction to HTML(Choose to do) 3.11 Drawing Shapes(2)x,y修改为0(3)高和宽改为200 300(4)400 40 50 200(4)矩形打印(5)椭圆3.12 The Java Coordinate System(Choose to do)3.13 Drawing a Face(Choose to do)3.14 Creating a Pie Chart(Choose to do)3.15 Colors in Java(Choose to do)4.Experimental results and data processing5.Analysis and discussionScore: 6.Teacher ReviewsExperimental Report List1 Names and Places1) Source code list3.1package test_java_01;//*************************************************************** //Names.java////Prints a list of student names with their hometowns//and intended major//*************************************************************** public class Test_java_01_1{// ------------------------// main prints the list// ------------------------public static void main (String[] args){System.out.println ();System.out.println ("\tName\t\tHometown");System.out.println ("\t====\t\t========");System.out.println ("\tprince\t\tblack_dragon_river_province"); System.out.println ("\tcircle\t\tWashington");System.out.println ();}}package test_java_01;//*************************************************************** //Names.java////Prints a list of student names with their hometowns//and intended major//*************************************************************** public class Test_java_01_1{// ------------------------// main prints the list// ------------------------public static void main (String[] args){System.out.println ();System.out.println ("\tName\t\tHometown\t\tmajor\t");System.out.println ("\t====\t\t========\t\t==========="); System.out.println ("\tprince\t\tblack_drass\t\tcomputer");System.out.println ("\tcircle\t\tWashington\t\tghhhh");System.out.println ();}}3.2public class Test_java_01_1{// ------------------------// main prints the list// ------------------------public static void main (String[] args){System.out.println("\t//////////////////////\t"+"\t\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\ \t");System.out.println ("\t======\t\tStudent Points\t\t=====\t ");System.out.println ("\tName\t\tLab\t\tBonus\t\tTotal ");System.out.println ("\t----\t\t---\t\t-----\t\t----- ");System.out.println ("\tJoe\t\t43\t\t7\t\t50\t ");System.out.println ("\tWiam\t\t50\t\t8\t\t58 ");System.out.println ("\tMaue\t\t3\t\t1\t\t4 ");System.out.println ("\tMarSue\t\t9\t\t10\t\t9 ");System.out.println ("\tMSue\t\t39\t\t10\t\t49 ");}}3.3(3)package test_java_01;import java.util.Scanner;public class PlusTest {public static void main (String[] args){int vail1,vail2,vail3;double average;Scanner scan=new Scanner(System.in);vail1=scan.nextInt();vail2=scan.nextInt();vail3=scan.nextInt();average=((double)vail1+(double)vail2+(double)vail3)/3;System.out.println("Please enter three integers and " +"I will compute their average :"+average);}}3.43.5(1)package test_java_01;public class sdd_3_5 {public static void main(String[] args){final double PI = 3.14159;int radius = 10;double area = PI * radius * radius;double line = PI * 2 * radius;System.out.println("The area of a circle with radius " + radius + " is " + area);radius = 20;area = PI * radius * radius;area = PI * radius * radius;System.out.println("The area of a circle with radius " + radius + " is " + area);}}(2)package test_java_01;public class sdd_3_5 {public static void main(String[] args){final double PI = 3.14159;int radius = 10;double area = PI * radius * radius,area2=4*area,area3;double line = PI * 2 * radius,line2=2*line,line3;double a,a1;a=line2-line;a1=area2/area;System.out.println("The area of a circle with radius " + radius + " is " + area);System.out.println("The line of a circle with radius " + radius + " is " + line);System.out.println(a+" "+a1);radius = 20;line3 = PI * 2 * radius;area3 = PI * radius * radius;System.out.println("The line of a circle with radius " + radius + " is " + line3);System.out.println("The area of a circle with radius " + radius + " is " + area3);}}(3)package test_java_01;import java.util.Scanner;public class sdd_3_5 {public static void main(String[] args){final double PI = 3.14159;Scanner scan=new Scanner(System.in);System.out.println("put in two number:");int a=scan.nextInt(),b=scan.nextInt();int c=a*b;System.out.println("number :"+c);}}3.6(1)package test_java_01;import java.util.Scanner;public class Area_jisuan_2 {public static void main(String[] args) {final int COVERAGE = 350;Scanner scan = new Scanner(System.in);System.out.print("put in length width and height:");int length = scan.nextInt(),width = scan.nextInt(),height =scan.nextInt();double totalSqFt,paintNeeded;paintNeeded = height*width*2 + width*length*2 + length*height*2;totalSqFt = paintNeeded/COVERAGE;System.out.print("the paintNeeded:"+ paintNeeded+" the totalSqFt:" +totalSqFt);}}(2)package test_java_01;import java.util.Scanner;public class Area_jisuan_2 {public static void main(String[] args) {final int COVERAGE = 350,doorsarea = 20,windowarea = 15 ;Scanner scan = new Scanner(System.in);System.out.println("put in length width and height:");int length = scan.nextInt(),width = scan.nextInt(),height =scan.nextInt();int doors,window;System.out.println("windows number and doors number:");window=scan.nextInt();doors=scan.nextInt();char i;double totalSqFt,paintNeeded;paintNeeded = height*width*2 + width*length*2 + length*height*2 - doors*doorsarea - windowarea*window;totalSqFt = paintNeeded/COVERAGE;System.out.print("the paintNeeded:"+ paintNeeded+" the totalSqFt:" +totalSqFt);}}3.7package test_java_01;import java.util.Scanner;public class weight {public static void main(String[] args) {int male1 = 14, female1 = 5;int weightreall,i=0,l;System.out.print("put in male or female:");Scanner scan = new Scanner(System.in);String c=scan.next();String b=new String("male");System.out.print("put in your height:");double height=scan.nextDouble(),ol,k;ol=height%1;ol=(2*ol*100+1)/20;if(b.equals(c)){weightreall = male1*(int)ol + 100;}else{weightreall = female1*(int)ol + 100;}System.out.print(weightreall);}}(2)package test_java_01;import java.util.Scanner;public class weight {public static void main(String[] args) {int male1 = 14, female1 = 5;int weightreall,i=0,l,weightreallf;System.out.print("put in male or female:");Scanner scan = new Scanner(System.in);String c=scan.next();String b=new String("male");System.out.println("put in your height:");double height=scan.nextDouble(),ol,k;ol=height%1;ol=(2*ol*100+1)/20;weightreall = male1*(int)ol + 100;double wei=weightreall,min,max;min=wei*0.85;max=wei*1.15;System.out.println("最佳体重范围男"+min+"-----"+max);weightreallf =female1*(int)ol +100;wei = weightreallf;min=wei*0.85;max=wei*1.15;System.out.println("最佳体重范围男"+min+"-----"+max);if(b.equals(c)){System.out.print("你的体重"+weightreall);}else{System.out.print("你的体重"+weightreallf);}}}3.8(1)四矩形打印//********************************************//Hello.java////Print a Hello, World message.//********************************************package test_java_01;import javax.swing.JApplet;import java.awt.*;public class hello extends JApplet{public void paint (Graphics page){final int MAX_SIZE = 300;final int PAGE_WIDTH = 600;final int PAGE_HEIGHT = 400;int x, y;int width, height;setBackground (Color.yellow);page.setColor (Color.blue);x = 400;y = 400;width = 150;height = 150;// Draw the rectanglepage.fillRect(x, y, width, height);page.setColor (Color.cyan);page.fillRect(x, y, width-50, height-50);page.setColor (Color.green);page.fillRect(x, y-40, width-100, height+50);page.fillRect(x-200, y-200, width-100, height+50);}}(2)来两个椭圆//********************************************//Hello.java////Print a Hello, World message.//******************************************** package test_java_01;import javax.swing.JApplet;import java.awt.*;public class hello extends JApplet{public void paint (Graphics page){final int MAX_SIZE = 300;final int PAGE_WIDTH = 600;final int PAGE_HEIGHT = 400;int x, y;int width, height;setBackground (Color.yellow);page.setColor (Color.blue);x = 400;y = 400;width = 150;height = 150;// Draw the rectanglepage.fillOval(x, y, width, height);page.setColor (Color.cyan);page.fillRect(x, y, width-50, height-50);page.setColor (Color.green);page.fillRect(x, y-40, width-100, height+50);page.fillOval(x-200, y-200, width-10, height+50);}}2) Results data processing3)Answer questions4)Error Analysis and Discussion。
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实验报告2
一练习while语句1.【实验目的】(1)为了熟练掌握java课程中的基础知识,了解java语言的灵活性和可操作性;(2)提高大家的实践操作能力;(3)通过此次实验上机,对已学知识加以运用,从而更加深刻的理解和认识老师所讲过的内容。
2.【实验算法】(1)先用小的一个数除大的一个数,得第一个余数;(2)再用第一个余数除小的一个数,得第二个余数;(3)又用第二个余数除第一个余数,得第三个余数;(4)这样逐次用后一个数去除前一个余数,直到余数是0为止。
那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。
3.【实验要求】(1)按照题目要求编写java程序代码,并得到正确的运算结果,以达到实验的目的;(2)编写程序代码的过程中,不允许使用java语言以外的其他程序语言;(3)在调试过程中,若出现错误,必须重新修改程序,并将出错的原因写在实验总结中,做出适当的解释;(4)能熟练掌握jdk6.ZH_cn的使用方法。
4.【问题与解决方法】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
解决方法:辗转相除法程序:import java.util.Scanner;public class cl {public static void main(String[] args) { System.out.println("请输入两个数:");Scanner in=new Scanner(System.in);int m=in.nextInt();int n=in.nextInt();int r;int t;int a,b;int s;a=m;b=n;if(a<a){t=a;a=b;b=t;}r=a%b;if(r==0){System.out.println("最大公约数为:"+b);System.out.println("最小公倍数为:"+a);}else{while(r!=0){a=b;b=r;r=a%b;}s=m*n/b;System.out.println("最大公约数为:"+b);System.out.println("最小公倍数为:"+s);}}}测试结果:(1)请输入两个数:948最大公约数为:3最小公倍数为:144(2)请输入两个数:88最大公约数为:8最小公倍数为:8二练习for语句1.【实验目的】(1)为了熟练掌握java课程中的基础知识,了解java语言的灵活性和可操作性;(2)提高大家的实践操作能力;(3)通过此次实验上机,对已学知识加以运用,从而更加深刻的理解和认识老师所讲过的内容。
java实验2实习报告
信息工程学院Java程序设计实习报告面向对象编程1. 实验目的掌握Java程序面向对象编程的基本架构, 会运用面向对象的思想编写Java程序。
2. 实验内容实验题1 阅读如下程序, 完成思考题。
class CCircl e{ d oubl e pi;d ouble radius;d ouble getRadius(){ return radius;}void setCircl e(d oubl e r, d oubl e p){ pi=p;radius=r;}}public class Ex2_1{ public static void main(String args[]){ CCircl e cir1=new CCircl e();cir1.setCircl e(2.0,3.1416);System.out.println("radius="+cir1.getRadius());}}程序的运行结果为: Radius=2.0。
实验题 2 设计一个用来描述汽车的类, 使用类的非静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度, 使用类的非静态成员方法来表示改变汽车的实验报告的内容与格式按任课教师的要求书写。
速率和停车两个操作。
import java.util.Scanner;public class Car {String Name;d ouble Rate;d ouble Angl e;Car(String name,d ouble rate,d oubl e angl e){Name=name;Rate=rate;Angl e=angl e;}Car(){}void getrate(){if(Rate==0){System.out.println("停车! ");}else{System.out.println(" 行驶中! ");}}public static void main(String args[]){Car person=new Car();="ligang";person.Rate=90;person.Angl e=25;System.out.println(" 姓名: "++" 速度"+person.Rate+" 角度"+person.Angl e);person.getrate();}}程序运行结果如下:实验题3 定义一个类MyProgram, 包含两个属性: 一个是private的整型属性data、一个是private的String类型的属性str, 封装这两个属性的四个方法setData()和getData()、setStr( )和getStr();将这两个属性转变为字符串的方法是toStr()。
java实验2实验报告
引言概述:实验目的:本次实验的主要目的是通过设计和实现一个简单的Java程序,加深对Java编程语言的理解,培养对面向对象编程思想的应用能力。
实验要求学生熟悉Java语法和类的基本概念,并能够正确运用这些知识编写出符合要求的程序。
实验过程:1.确定实验题目和要求:根据实验要求,确定需要实现的功能和要求,并理解题目中的各个概念和要求。
2.设计程序结构:根据题目要求和功能需求,设计程序的类结构、方法和变量。
要求合理设计类和对象的关系,充分运用封装、继承和多态等面向对象编程的特性。
3.编码实现:根据设计好的程序结构,使用Java语言进行编码实现。
编写各个类和方法的代码,确保代码的规范和可读性。
4.调试和测试:编写完代码后,进行充分的调试和测试工作。
确保程序能够正确运行并符合预期的功能需求。
5.优化和改进:对程序进行优化和改进,提高程序的性能和可维护性。
可以通过重构代码、增加异常处理等方式进行优化。
6.提交实验报告:实验完成后,撰写实验报告,对实验过程和结果进行总结和分析。
实验结果:实验结果表明,本次实验成功实现了所要求的功能。
通过对Java程序的设计和实现,我加深了对Java编程语言的理解,并掌握了Java程序的基本概念和语法。
同时,通过实验过程中的调试和测试工作,我对程序的错误处理和调试技巧也有了一定的了解和掌握。
实验分析:通过本次实验,我认识到了面向对象编程的重要性和优势。
在程序设计过程中,合理设计类和对象的关系,充分利用面向对象编程的特性,可以提高程序的可读性、可维护性和扩展性。
同时,对于Java编程语言的学习和理解也是很有必要的,它是一种广泛应用于软件开发的编程语言。
总结:本次实验是一次很好的学习和实践机会,通过对Java程序的设计和实现,我加深了对Java编程语言的理解,并掌握了Java程序的基本概念和语法。
在实验过程中,我收获了很多,对面向对象编程有了更深刻的理解,也对程序的调试和测试有了更多的经验。
java实验2实验报告1
java实验2实验报告1Java 实验 2 实验报告一、实验目的本次 Java 实验 2 的主要目的是通过实际编程操作,深入理解和掌握Java 语言中的一些重要概念和技术,包括面向对象编程的基本思想、类和对象的创建与使用、方法的定义与调用,以及异常处理等方面的知识。
通过实践,提高我们的编程能力和解决问题的能力。
二、实验环境本次实验使用的开发工具是 IntelliJ IDEA,Java 版本为 JDK 18。
操作系统为 Windows 10。
三、实验内容1、设计一个简单的学生类(Student)包含学生的姓名(name)、学号(studentID)、年龄(age)等属性。
定义构造方法用于初始化学生对象的属性。
定义获取和设置学生属性的方法。
2、实现一个计算学生平均年龄的方法接受一个学生对象数组作为参数。
计算并返回学生的平均年龄。
3、异常处理在计算平均年龄的方法中,处理可能出现的除数为 0 的异常情况。
四、实验步骤1、创建学生类(Student)```javapublic class Student {private String name;private int studentID;private int age;public Student(String name, int studentID, int age) {thisname = name;thisstudentID = studentID;thisage = age;}public String getName(){return name;}public void setName(String name) {thisname = name;}public int getStudentID(){return studentID;}public void setStudentID(int studentID) {thisstudentID = studentID;}public int getAge(){return age;}public void setAge(int age) {thisage = age;}}```2、计算平均年龄的方法```javapublic class AverageAgeCalculator {public double calculateAverageAge(Student students) {int totalAge = 0;int studentCount = studentslength;for (Student student : students) {totalAge += studentgetAge();}if (studentCount == 0) {throw new ArithmeticException("除数不能为 0,学生数组为空。
Java实习报告范文(通用4篇)
Java实习报告范文(通用4篇)Java范文篇1在本学期的二周时间内,我们在学校机房进行了为期二周的JAVA 实训。
现在即将结束了,回首本学期的java学习,重点还是在学习概念等一些常识性的东西,也学到平常在课堂中没有学到的东西,在JAVAAPI中又多认识了几种类,使我对JAVA产生了浓厚的兴趣。
两周的时间说长也不长,在这两周中,我们的实训任务是仓库管理系统,在演示过程中,并没有觉得它有很难,但在实际编程过程中,却遇到了各种各样的错误,这也多亏了老师的指点和班级同学的帮忙,使我一步步克服了实训过程中遇到的困难。
虽然我所做的系统并没有实现所有功能,但是我觉得自己进步了,很多原来都不懂的东西现在都已经了解了,也培养了我的团队合作精神,让我感受到了集体的温暖。
实训的过程与课堂上的讲课比,更为有趣,因为可以真正的自己动手操作,使我对老师上课所讲的内容有了更深一步的了解,使我在以后的编程中可以灵活运用。
我期待以后有更多类似的实训,使我们可以多掌握一项技能,也可以让我们在以后找工作中可以有更多的实践经验。
学知识可不能凭自己的爱好和一时兴趣,要一步一个脚印,认认真真,踏踏实实,理论与实践相结合,在扎实掌握课本实例和内容之后,有一定的扩展阅读和课外学习,充分全面的了解JAVA的应用和扩展运用。
在我所学的语言当中,我自认为JAVA是一门比较强大的面向对象的编程语言,不仅仅因为它的跨平台性,更多的是因为它的灵活多变和实用性较强,可以说比较的经典和强悍。
所以学好java语言有很大的用处,这次实训,我们更多学到的是不懂就问和自己应该尽自己的全力去尝试,哪怕失败,只要自己尽自己的全力,和身边同学一起探讨而不是抄袭,团结合作,发挥团队意识,最后在自己的努力下,终于运行成功,这种成就感美不可言,心情愉悦至极。
最后终于要结束了,大家都有种释怀的感觉,当然我想我更多的是兴奋和自己掌握了知识之后的饱满感,学知识就像吃东西一样,吃饱了就应该好好的消化。
武汉科技大学java实验一二附代码
武汉科技大学Java及移动开发实验报告二○一七 ---- 二○一八学年第二学期%学院:信息科学与工程学院专业:通信工程班级:通信1502班学号: 3050 姓名:方翠群指导老师:邱奕敏二○一八年 5 月 4 日?一、实验目的1) 掌握类的封装机制2) 掌握类的继承机制。
3) 熟悉类中成员变量和方法的访问控制。
4) 熟悉方法或构造方法多态性。
5) 熟悉抽象类、接口的定义方法。
6)掌握程序、进程与线程之间的关系。
7)多线程的创建。
8)线程的同步与共享。
二、实验内容…1) 编写程序实现如下功能:已知 Person 类包含三个公共域变量(姓名、性别、年龄)和一个构造方法,Student 类是 Person 类的派生类,包含两个新的公共域变量(学号、班号)、两个公共方法(修改年龄、显示基本信息)及一个构造方法。
定义一组学生对象,并初始化他们的基本信息,然后依次输出。
2) 输入课本例 5-4 的源程序,观察其运行结果,然后将 Shape 类分别定义为一个抽象类和接口,然后将源程序进行修改,让其实现相同功能。
3)民航共有 10 张机票,开设 3 个售票窗口,编写多线程程序实现一张票只能由一个窗口售出功能。
三、实验代码代码1:package fangcuiqun;&public class Person {public String name;public char sex;public int age;Person(String name, char sex, int age){= name;= sex;=age;}|}class Student extends Person{public String classno;public String sno;public void updateAge(int age){=age;}&void ToString(){name +" " + sex +" "+ age+" " + classno +" "+ sno);}Student(String name, char sex, int age, String classno, String sno) { super(name, sex, age);= classno;= sno;}}(class Test {public static void main(String[] args) {Student st[] = new Student[4];st[0] = new Student("方翠群", '男', 20, "1", "01");st[2] = new Student("尹鑫", '男', 21, "3", "03");st[1] = new Student("颜锐", '男', 19, "7", "01");st[3] = new Student("杨子豪", '男', 20, "1", "07");;for(int i=0; i<4; i++){st[i].ToString();}}}代码2:package fangcuiqun;"public class TestVirtualInvoke{static void doStuff(Shape s){();}public static void main(String [] args){ Circle c=new Circle();Triangle t=new Triangle();Line l=new Line();doStuff(c);~doStuff(t);doStuff(l);}}class Shape{void draw(){"Shape Drawing");}}—class Circle extends Shape{void draw(){"Draw Circle");}}class Triangle extends Shape{void draw(){"Draw Three Lines");}}class Line extends Shape-{void draw(){"Draw Line");}}代码3:package fangcuiqun;class Ticket implements Runnable{private int TicketNum=10;private boolean flag=true;private synchronized void sale()!{if(TicketNum<=0){flag=false;return;}TicketNum--;"卖了一张票,还剩"+TicketNum+"张票。
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实验报告
//建立输入对话框窗口来输入字符串
String s=JOptionPane.showInputDialog("请输入三角形一条边 a 的值: ");
double a=Double.parseDouble(s); //将字符串转换为数值型
String q=JOptionPane.showInputDialog("请输入三角形一条边 b 的值: ");
5.(基础题)下列程序定义了一个学生类 Student,它包含两个变量:strName(姓名)、intAge(年龄),
除了 main()方法外还有两个方法:Student(String name, int age)(构造方法)、display()(显示学生信息, 其内部还一个利用随机方法生成的幸运指数)。 程序运行结果:
* public static void main(String args[]) {
*
Test t=new Test();
ห้องสมุดไป่ตู้
*
System.out.print("b1="+t.b1+"\n"+"b2="+t.b2+"\n"+"b3="+t.b3+"\n"+"b4="+t.b4+"\n"+"b5=
"+t.b5+"\n"+"b6="+t.b6+"\n");// 输出变量b1——b6的值
System.out.print("b1="+b1+"\n"+"b2="+b2+"\n"+"b3="+b3+"\n"+"b4="+b4+"\n"+"b5="+b5+"\n
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答案互联网软件应用与开发实验指导书实验二熟悉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报告
实验二系统类和数组一、实验目的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的基础知识:包括数据类型、变量的声明方式、运算符的的基础知识:包括数据类型、变量的声明方式、运算符的优先级、表达式的应用、数组的使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
this.a=a;
this.b=b;
this.c=c;
} boolean verification(){
if((a+b<=c)||(a+c<=b)||(b+c<=a)){
return false;
}
else return true;
注:“实验记录及个人小结”部分不够可另附页或在背面续写
第
页
主
}
要
void comparation(){
调
试
public static void main(String[] args) {… …}
结
果 程序代码:
及
实 class Triangle {
验
结
double a;
果
分
double b;
析
等
double c;
) double d;
double s;
Triangle(double a,double b,double c){
及 实
个学生类对象数组,并利用循环语句显示所有学生的基本信息。
验 步骤(4):保存文件名为 StudentsInfo.java, 然后编译、调试和运行程序。 结
果
分
析 程序代码: 等
) class Student{
String num;
String classnum;
String name;
注:“实验记录及个人小结”部分不够可另附页或在背面续写
绩:"+getcomscore()+" 体育成绩:"+getscore());}
}
class School{ static float scoreline; static void setscoreline(float score){scoreline=score;} static float getscoreline(){return scoreline;}
信息科学与工程学院 《Java 程序设计》 上机实验报告
专业班级 实验时间
姓名 指导教师
学号 成绩
实验
实验二 初步的面向对象的程序设计练习
名称
1) 掌握类和构造方法的定义。
实验
2) 掌握创建类实例的方法。
目的
3) 初步掌握面向对象的编程思想
主 实验内容: 要 1、编写程序实现如下功能:已知学生类有域变量(学号、班号、姓名、性别、年龄)
分
float score;
实
验
public Student(String name,String id,float comscore,float score){
源
程
=name;
序
、
this.id=id;
调
试
score=comscore;
结
果
this.score=score;
实 验
String getsex(){… …}
源 程
int getage(){… …}
序 、
void setage(int age){… …}
调 试
void display(){… …}
结 果
步骤(3):定义一个包含 main 方法的 Application 程序类 StudentsInfo,初始化一
括 部
boolean verification(){… …}
分
void comparation(){… …}
实
验
void calculation(){… …}
源
程
void print() (float score){… …}
序
、 步骤(3)定义一个 Application 程序类 TriangleTest 并添加方法:
验
结
if(isenroll(card[i]))
果
分
System.out.println("\r\n"+card[i].getname()+"被录取");
析
等
else System.out.println("\r\n"+card[i].getname()+"没有被录取");
) }
}
}
程序截图:
注:“实验记录及个人小结”部分不够可另附页或在背面续写
card[i].display();
}
}
注:“实验记录及个人小结”部分不够可另附页或在背面续写
第
页
主 程序截图 要 实 验 记 录 及 个 人 小 结
( 包 括 部 分 实 验 源 程 序 、 调 2、编写程序实现如下功能:已知学生类有域变量(姓名、考号、综合成绩、体育成 试 结 绩)和方法(获取综合成绩、获取体育成绩、显示基本信息),学校类有静态变量(录 果 及 取分数线)和方法(设置录取分数、获取录取分数线),录取类有方法(获取学生是 实 验 否符合录取条件,其中录取条件为综合成绩在录取分数线之上,或体育成绩在 96 分 结 果 以上并且综合成绩大于 300 分)。现要求编写程序输出一组学生对象中被某学校录取 分 析 的学生基本信息。 等 ) 实验步骤:
人
double a; double b; double c; double d; double s;
小
abc 为三角形三边,d 为重新构建三角形的边,s 为三角形面积。
结 步骤(2):在类 Triangle 中添加如下方法,并编写代码实现具体方法的功能:
( 包
Triangle(double a,double b,double c) {… …}
分
}
实
验
void calculation(){
源
程
this.s=a*b*Math.sin(Math.acos((a*a+b*b-c*c)/(2*a*b)*3.1415926/180))/2;
第
页
主 思考题:编写一个三角形类,能根据 3 个实数(即三角形的三边)构造三角形对象,
要 如果 3 个实数不满足三角形的条件,则自动构造以最小值为边的等边三角形,另外已 实
知这三个实数,也能求出三角形的面积。现任意定义几个三角形对象,并分别求它们 验
记 的面积。
录 实验步骤:
及 步骤(1):定义类 Triangle,并添加如下域变量: 个
实 if(a&la<=c) this.d=a;
录
}
及
else{
个
人
if(b<=c) this.d=b;
小
else this.d=c;
结
}
( 包
this.s=d*d*(Math.sin(60*3.1415926/180))/2;
括 部
System.out.println("面积为:"+s+"\r\n");
个
人
this.sex=sex;
小
this.age=age;
结
}
( 包
String getnum(){ return num; }
括 部
String getclassnum(){ return classnum; }
分
String getname(){ return name; }
实
验
String getsex(){ return sex; }
实}
验
结
果 分 public class StudentsInfo {
析 等 public class StudentsInfo {
)
public static void main(String[] args) {
int i;
Student card[]=new Student[3];
card[0]=new Student("201112135056","电信(DB)1102","刘棋","男",20);
步骤(1):定义类 Stduent,并添加如下域变量:
String name; String id; float comscore; float score ;
步骤(2):在类 Student 中添加如下方法,并编写代码实现具体方法的功能:
Student(String name,String id, float comscore, float score){… …}
人 小 步骤(2):在类 Student 中添加如下方法,并编写代码实现具体方法的功能:
结
Student(String num,String classnum,String name,char sex, String
(
age){… …}
包
括
String getnum(){ … …}
部
分
String getclassnum(){… …}
验
记
static boolean isenroll(Student s){……}
录 步骤(5):保存文件名为 Enroll.java, 然后编译、调试和运行程序。 及
个 人 程序代码
小 class Student {
结
String name;
( 包
String id;
括 部
float comscore;
及
实
}
验
结
String getname(){ return name; }
果
分
String getid(){ return id; }