Java实验报告Word下载.docx

上传人:b****6 文档编号:16232037 上传时间:2022-11-21 格式:DOCX 页数:28 大小:490.55KB
下载 相关 举报
Java实验报告Word下载.docx_第1页
第1页 / 共28页
Java实验报告Word下载.docx_第2页
第2页 / 共28页
Java实验报告Word下载.docx_第3页
第3页 / 共28页
Java实验报告Word下载.docx_第4页
第4页 / 共28页
Java实验报告Word下载.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

Java实验报告Word下载.docx

《Java实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《Java实验报告Word下载.docx(28页珍藏版)》请在冰豆网上搜索。

Java实验报告Word下载.docx

}

2.

System.out.println(sum(1,100));

/**

*计算a到b的累加结果

*@parama

*@paramb

*@return

*/

privatestaticintsum(inta,intb){

intsum=0;

inti=a;

while(i<

=b){

sum+=i;

i++;

}

returnsum;

3.

importjava.util.Scanner;

publicstaticvoidmain(String[]args)throwsjava.io.IOException{

intk,n;

Scannerscanner=newScanner(System.in);

请输入k:

k=scanner.nextInt();

请输入n:

n=scanner.nextInt();

计算结果为:

+calc(k,n));

scanner.close();

*求a到b的累乘结果

privatestaticintfactorial(inta,intb){

intret=1;

for(inti=a;

i<

=b;

i++){

ret*=i;

returnret;

*计算组合数C(n,k)

*@paramk

*@paramn

privatestaticintcalc(intk,intn){

returnfactorial(n-k+1,n)/factorial(1,k);

四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)

主要注意jdk的环境变量的配置,以及javac和java命令的使用。

另外,从控制台获取键盘输入,可以使用类Scanner,将其import进来就可以使用了。

  (注:

实验环境为Ubuntu11.04+jdk1.7.0_10)

实验二JAVA数组结构

(1)进一步理解数组、数组元素等基本概念;

(2)熟练掌握各类数组的定义方法;

(3)熟练掌握操作各类数组的基本方法;

(4)掌握Eclipse开发工具。

1.编程采用冒泡法实现对数组元素由小到大排序。

从键盘输入任意大小的10个整数,采用冒泡法排序对相邻的两个元素进行比较,并把小的元素交换到前面。

要求输出排序前的数据情况和排序后的数据情况,同时统计排序过程中发生数据交换的次数。

2.计算矩阵对角线元素之和

三、实验过程

1.编程如下:

System.out.print("

请输入10个数:

int[]array=newint[10];

for(inti=0;

10;

array[i]=scanner.nextInt();

print(array);

交换了"

+sort(array)+"

次"

publicstaticintsort(int[]array){

intcount=0;

array.length;

for(intj=i+1;

j<

j++){

if(array[i]>

array[j]){

intt=array[i];

array[i]=array[j];

array[j]=t;

count++;

}

}

returncount;

publicstaticvoidprint(int[]array){

i<

System.out.print(array[i]+"

"

System.out.println();

运行结果是:

2.程序如下:

int[][]matrix=newint[][]{{1,2,3,4},

{5,6,7,8},

{8,7,6,5},

{4,3,2,1}};

print(matrix);

对角元素和为:

+calc(matrix));

publicstaticvoidprint(int[][]matrix){

矩阵为:

matrix.length;

for(intj=0;

matrix[i].length;

j++)

System.out.print(matrix[i][j]+"

System.out.println();

publicstaticintcalc(int[][]matrix){

sum+=matrix[i][i];

  Java中的数组实际上是对象,可以用length属性获得长度。

二维数组实际上是一维数组对象的数组。

实验三继承和多态的使用

(1)熟悉类和对象的概念;

(2)掌握类的构造函数的使用方法;

(3)掌握类的继承和派生方法;

(4)掌握面向对象的程序设计的基本思想和方法。

1.定义一个自己的数学类MyMath。

类中提供静态方法max,该方法接收3个同类型的参数,返回其中的最大值。

2.假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性:

姓名、工号以及工资。

经理也是员工,除了含有员工的属性外,另外还有一个奖金属性。

请使用继承的思想设计出员工类和经理类。

要求类中提供必要的方法进行属性访问。

2,3,5.Maxis"

+MyMath.max(2,3,5));

MyMath.java

publicclassMyMath{

publicstaticintmax(inta,intb,intc){

intm=(a>

b?

a:

b);

return(m>

c?

m:

c);

Staffstaff=newStaff("

张三"

"

1001"

staff.setSalary(5000);

staff.printInfo();

Managermanager=newManager("

李四"

1002"

manager.setSalary(8000);

manager.setAward(10000);

manager.printInfo();

Staff.java

publicclassStaff{

protectedStringname;

protectedStringid;

protectedfloatsalary;

publicStaff(Stringname,Stringid){

this.name=name;

this.id=id;

publicStringgetId(){

returnid;

publicStringgetName(){

returnname;

publicvoidsetSalary(floatsalary){

this.salary=salary;

publicfloatgetSalary(){

returnsalary;

publicvoidprintInfo(){

+name+"

员工号:

+id+"

工资:

+salary);

Manager.java

publicclassManagerextendsStaff{

protectedfloataward;

publicManager(Stringname,Stringid){

super(name,id);

publicfloatgetAward(){

returnaward;

publicvoidsetAward(floataward){

this.award=award;

super.printInfo();

奖金:

+award);

四、实验小结

继承可以使得代码被复用,还可以很好的体现类之间的逻辑关系;

多态则可以使对象拥有其独特的方法实现。

另外注意封装性,管理好成员的可见性,通过相应方法来读取和访问,有利于数据安全和权限控制。

实验四抽象类和接口的使用

(1)熟悉抽象类和接口的概念;

(2)掌握抽象类和接口的定义方法;

(3)掌握抽象类和接口的使用方法。

2.设计一个人员类,其中包含一个方法pay,代表人员的工资支出。

再从人员类派生出助教类、讲师类、副教授类和教授类。

其中:

工资支出=基本工资+授课时数*每课时兼课金

①将人员类定义为抽象类,方法pay为抽象方法,设计程序实现多态性。

②将方法pay定义在接口中,设计程序实现多态性。

Staffstaff=newAssistant();

System.out.println(staff+"

工资支出为:

+staff.pay());

staff=newLecturer();

staff=newAssociateProfessor();

staff=newProfessor();

/**

*人员类

publicabstractclassStaff{

publicabstractintpay();

*助教类

classAssistantextendsStaff{

publicintpay(){

return2000+10*50;

publicStringtoString(){

return"

助教"

;

*讲师类

classLecturerextendsStaff{

return3000+10*80;

讲师"

*副教授

classAssociateProfessorextendsStaff{

return4000+10*100;

副教授"

*教授类

classProfessorextendsStaff{

return5000+10*150;

教授"

抽象类和接口都用于实现多态性,但是抽象类中除了抽象方法,还可以包括成员变量以及一般成员方法;

而接口只能包括公有抽象方法和静态常量。

另外,实现多态性的时候,抽象类用于被继承,且只能单继承;

而接口用于被实现,一个类可以实现多个接口。

实验五异常抛出和捕获

(1)掌握异常的概念、异常的抛出、异常的处理的方法;

(2)学会在程序中用自定义异常处理实际问题;

(3)学会在程序中自己抛出异常和处理异常。

编写一个程序:

完成在银行的存款和取款操作。

在定义银行类时,若取钱数大于余额则作为异常处理。

设计思路:

1.产生异常的条件是余额少于取额,因此是否抛出异常要先判断该条件。

产生异常的方法应该在取钱方法中。

2.处理异常安排在调用取钱方法的时候,因此取钱方法要抛出异常,由上一级调用方法捕获并处理。

3.要定义自己的异常。

编程如下:

Bankbank=newBank();

bank.deposit(100);

try{

bank.withdraw(200);

}catch(NoEnoughMoneyExceptione){

System.out.println("

NoEnoughMoney,"

+e.getMessage());

NoEnoughMoneyException.java

publicclassNoEnoughMoneyExceptionextendsException{

publicNoEnoughMoneyException(finalStringmessage){

super(message);

Bank.java

publicclassBank{

floatmoney=0;

publicvoiddeposit(floatvalue){

money+=value;

publicvoidwithdraw(floatvalue)throwsNoEnoughMoneyException{

if(money<

value){

thrownewNoEnoughMoneyException("

currentmoneyis"

+money);

}else{

money-=value;

publicfloatquery(){

returnmoney;

一个程序难免会遇到异常,Java中可以用throw抛出异常,用try…catch…finaly来处理异常。

而且除了Java定义的异常类,还可以自己定义一些异常类。

实验六JAVA实用包

(1)掌握String类的使用;

(2)掌握StringBuffer类的使用;

(3)掌握StringTokenizer类的使用;

(4)掌握Vector类的使用。

显示一个窗口,在窗口的一个JTextField中输入要进行语言符号化的语句,按回车键后,程序首先将语句转化成大写,然后将语言符号化的结果显示在窗口JTextArea中。

提示:

1.将语句转化成大写可使用String类中的toUpperCase()方法。

2.部分程序段

importjava.util.*;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

publicclassStringTokenizeTestextendsJFrame{

privateJLabelpromptLabel;

privateJTextFieldinputField;

privateJTextAreaoutputArea;

StringTokenizeTest.java

privateJLabelpromptLabel=newJLabel();

privateJTextFieldinputField=newJTextField();

privateJTextAreaoutputArea=newJTextArea();

privateJLabelauthorLabel=newJLabel();

newStringTokenizeTest();

publicStringTokenizeTest(){

setTitle("

StringTokenizeTest"

setBounds(500,300,300,220);

setDefaultCloseOperation(EXIT_ON_CLOSE);

init();

setVisible(true);

privatevoidinit(){

setLayout(null);

promptLabel.setText("

输入:

promptLabel.setBounds(10,10,50,30);

authorLabel.setText("

by1040501211陈嘉生"

authorLabel.setBounds(10,150,200,30);

inputField.setBounds(70,10,200,30);

inputField.addActionListener(newActionListener(){

@Override

publicvoidactionPerformed(ActionEvente){

stringTokenize();

});

outputArea.setBounds(10,50,280,100);

add(promptLabel);

add(input

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1