多个java程序设计实验.docx

上传人:b****6 文档编号:16153931 上传时间:2023-07-10 格式:DOCX 页数:36 大小:167.95KB
下载 相关 举报
多个java程序设计实验.docx_第1页
第1页 / 共36页
多个java程序设计实验.docx_第2页
第2页 / 共36页
多个java程序设计实验.docx_第3页
第3页 / 共36页
多个java程序设计实验.docx_第4页
第4页 / 共36页
多个java程序设计实验.docx_第5页
第5页 / 共36页
多个java程序设计实验.docx_第6页
第6页 / 共36页
多个java程序设计实验.docx_第7页
第7页 / 共36页
多个java程序设计实验.docx_第8页
第8页 / 共36页
多个java程序设计实验.docx_第9页
第9页 / 共36页
多个java程序设计实验.docx_第10页
第10页 / 共36页
多个java程序设计实验.docx_第11页
第11页 / 共36页
多个java程序设计实验.docx_第12页
第12页 / 共36页
多个java程序设计实验.docx_第13页
第13页 / 共36页
多个java程序设计实验.docx_第14页
第14页 / 共36页
多个java程序设计实验.docx_第15页
第15页 / 共36页
多个java程序设计实验.docx_第16页
第16页 / 共36页
多个java程序设计实验.docx_第17页
第17页 / 共36页
多个java程序设计实验.docx_第18页
第18页 / 共36页
多个java程序设计实验.docx_第19页
第19页 / 共36页
多个java程序设计实验.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

多个java程序设计实验.docx

《多个java程序设计实验.docx》由会员分享,可在线阅读,更多相关《多个java程序设计实验.docx(36页珍藏版)》请在冰点文库上搜索。

多个java程序设计实验.docx

多个java程序设计实验

 

实验报告

 

课程名称Java程序设计

实验项目实验一Java基础编程

 

系别光电信息与通信工程学院

专业/班级

姓名

实验日期

成绩_______________________

指导教师

一、实验题目:

实验一Java基础编程

二、实验内容:

(1)创建一个JavaApplication程序,实现流式交互输入输出

要求:

从键盘输入自己的姓名,学号,专业

在屏幕上输出:

“姓名:

,学号:

,专业:

(2)创建一个JavaApplication程序,编写输出乘法口诀表的程序

1*1=1

1*2=22*2=4

1*3=32*3=63*3=9

1*4=42*4=83*4=124*4=16

三、程序清单及结果:

(需要标明实现程序对应的实验内容,并给出合理的程序注释及运行结果)

1)程序清单及注释

(1)

importjava.util.*;

publicclassinfor

{

publicstaticvoidmain(Stringargs[])throwsException

{

String[]i=newString[3];

Scannerstdin=newScanner(System.in);

System.out.println("Pleaseinputyourname,number,profession:

");

i[0]=stdin.nextLine();

i[1]=stdin.nextLine();

i[2]=stdin.nextLine();

System.out.println("NAME:

"+i[0]+",NUMBER:

"+i[1]+",PROFESSION:

"+i[2]);

}

}

(2)

classNineNine{

publicstaticvoidmain(String[]args)

{

intj;intk;

System.out.println();

for(j=1;j<10;j++)

{for(k=1;k<10;k++)

{if(k>j)break;

System.out.print(""+k+"X"+j+"="+j*k);

}

System.out.println();

}

}

}

2)程序运行结果

结果显示:

 

(2)结果显示:

四、程序调试报告及总结

 

实验报告

 

课程名称Java程序设计

实验项目实验二Java中的面向对象特性

 

系别光电信息与通信工程学院

专业/班级

姓名

实验日期

成绩_______________________

指导教师

一、实验题目:

实验二Java中的面向对象特性

二、实验内容:

(1)创建一个JavaApplication程序,实现Java的面向对象特性

要求:

1)创建父类Person,具有姓名、性别、年龄等属性,以及与属性相关的set。

方法。

并具有一个show方法,分行显示父类所有的属性值,显示形式为“父类的。

属性的值为。

2)创建子类Student继承自父类Person,新增了专业、班级、学号属性以及对应的set。

方法;子类中show方法显示新增属性的值,显示的形式为“子类的。

属性的值为。

3)创建实际的应用类(包含main方法),创建Student类的实例对象,调用父类方法设置姓名、性别、年龄,调用子类方法设置专业、班级、学号。

并显示所有属性的值。

(2)选作:

定义一个接口Area,其中包含一个计算面积的抽象方法calculateArea(),然后设计MyCircle和MyRectangle两个类都实现这个接口中的方法calculate(),分别计算圆和矩形的面积。

三、程序清单及结果:

(需要标明实现程序对应的实验内容,并给出合理的程序注释及运行结果)

3)程序清单及注释

classPerson{\\建立父类:

设置相关属性

privateStringname;

privateStringsex;

privateintage;

publicPerson(){}

publicPerson(Stringname,Stringsex,intage){

this.name=name;

this.sex=sex;

this.age=age;}

publicStringgetName(){

returnname;}

publicvoidsetName(Stringname){

this.name=name;}

publicStringgetSex(){

returnsex;}

publicvoidsetSex(Stringsex){

this.sex=sex;}

publicintgetAge(){

returnage;}

publicvoidsetAge(intage){

this.age=age;}

 

publicvoidshow()

{System.out.println("在父类中:

");

System.out.println("父类的name属性的值为:

"+name);

System.out.println("父类的sex属性的值为:

"+sex);

System.out.println("父类的age属性的值为:

"+age);

}

}

classStudentextendsPerson{\\建立子类:

设置相关属性

privateStringprofessional;

privateStringclassnumber;

privateStringnumber;

publicStudent(){}

publicStudent(Stringname,Stringsex,intage,Stringprofessional,Stringclassnumber,Stringnumber)

{super(name,sex,age);

this.professional=professional;

this.classnumber=classnumber;

this.number=number;

}

publicStringgetProfessional(){

returnprofessional;}

publicvoidsetProfessional(Stringprofessional){

this.professional=professional;

}

publicStringgetClassnumber(){

returnclassnumber;}

publicvoidsetClassnumber(Stringclassnumber){

this.classnumber=classnumber;

}

publicStringgetNumber(){

returnnumber;}

publicvoidsetNumber(Stringnumber){

this.number=number;}

 

publicvoidshow(){

super.show();

System.out.println("在子类中:

");

System.out.println("子类的professional属性的值为:

"+professional);

System.out.println("子类的classnumber属性的值为:

"+classnumber);

System.out.println("子类的number属性的值为:

"+number);

}

}

publicclassXY{

publicstaticvoidmain(String[]args){

Studentstudent=newStudent();

student.setName("XXX");

student.setSex("X");

student.setAge(X);

student.setProfessional("XXX");

student.setClassnumber("XX");

student.setNumber("XXX");

student.show();

}

}

4)程序运行结果

选作:

程序编码:

interfaceArea{

doublecalculateArea();}

classMyCircleimplementsArea{

publicdoubler;

MyCircle(doubler)

{this.r=r;}

publicdoublecalculateArea()

{System.out.println("圆的面积是:

"+3.14*r*r);

return0;}

}

classMyRectangleimplementsArea

{

publicdoublewidth,height;

MyRectangle(doublew,doubleh)

{this.width=w;this.height=h;}

publicdoublecalculateArea()

{System.out.println("矩形的面积是:

"+width*height);

return0;}

}

classA

{

publicdoublet(Areas)//接口类型参数

{

s.calculateArea();//接口回调

return0;

}

}

classJK

{

publicstaticvoidmain(String[]args)

{

Areas;

s=newMyCircle(5);

s.calculateArea();//接口回调

Aa=newA();

a.t(newMyRectangle(1,2));

}

}

结果显示:

四、程序调试报告及总结

实验报告

 

课程名称Java程序设计

实验项目实验三Java的图形用户界面

 

系别光电信息与通信工程学院

专业/班级

姓名

实验日期

成绩_______________________

指导教师

一、实验题目:

实验三Java的图形用户界面

二、实验内容:

创建一个窗口

(1)窗口有“退出”菜单,选择后可退出程序

(2)窗口内有“提示”按钮,单击后显示自己的班级、学号、姓名

(3)“退出”按钮,单击后可退出程序

(4)在窗口内实现一个计算器,可进行简单的加、减、乘、除操作

 

三、程序清单及结果:

(需要标明实现程序对应的实验内容,并给出合理的程序注释及运行结果)

5)程序清单及注释

importjava.awt.*;

importjava.awt.event.*;

importjava.awt.datatransfer.*;

importjavax.swing.*;

publicclassSimpleCalculatorextendsTextFieldimplementsActionListener

{

//私有成员变量的定义:

/*以下为计算机的各部分组件*/

FramemainFrame;//主框架

JTextFieldanswerText;//显示计算结果

JTextFieldmemoryState;//显示计算器内存的使用情况

MenuBarmenuGroup;//菜单栏

MenuExitMenu;//退出

MenuItemTips,Exit;//提示,退出

ButtonbuttonBackSpace,buttonCE,buttonC;//退格,清除,清空按钮

ButtonbuttonNum[];//数字按钮

ButtonbuttonAdd,buttonSub,buttonMul,buttonDiv;//+,-,*,/

ButtonbuttonDot,buttonEqual;//.=

/*以下为运算时所用到的变量*/

StringBuffertextBuffer;//记录数值的字符串

intnumDot;//小数点的个数

intoperator;//操作符:

1-加法2-减法3-乘法4-除法

doublefirstValue,secondValue,result;//第一、二个数及结果

booleanenterSecond;//是否已经输入了第二个数

intforFirOrSec;//此时输入的是第一个还是第二个数

booleanb_remFir,b_remSec,b_remFun;//指示是否此时还记的上次的数和运算符

intremFun;//记住上次的运算符

doubleremFir,remSec;//记住上次参加运算的第一二个数

booleanisNumGroup=false;//记录是否为数字分组

booleancanBeBack;//是否可以使用退格键

doublememory;//用于内存操作时保存的数据

/*以下为本计算器与系统其他资源数据交换的变量*/

Clipboardclipbd=getToolkit().getSystemClipboard();

//构造函数:

SimpleCalculator()

{

initMainFrame();

initTextField();

initButtons();

initMenu();

OverallArrangement();

reSet();

mainFrame.setVisible(true);

}

/*voidinitMainFrame()函数是对主框架进行初始化,设置其框架大小250*250,初始位置180*140,背景颜色Color.lightGray,是否显示true,能否改变窗口大小false,以及增加了addWindowListener委托事件,当关闭窗口时调用System.exit(0)系统指令,结束程序。

*/

voidinitMainFrame()

{

mainFrame=newFrame("计算器");

mainFrame.setSize(250,250);

mainFrame.setLocation(180,140);

mainFrame.setBackground(Color.lightGray);

mainFrame.setResizable(false);

mainFrame.addWindowListener(

newWindowAdapter()

{publicvoidwindowClosing(WindowEvente)

{System.exit(0);}

}

);

}

/*

initTextField()是对文本textBufferanswerTextmemoryState得初始化,textBuffer是用于对文本的缓冲处理,StringBuffer类优于String类是因为StringBuffer是对字符串直接操作,从而节省了内存。

由于在这个计算器程序中,对字符串的操作量很大,因此,StringBuffer在这方面体现出了其本身的优势。

answerText和memoryState用swing的组件JTextField是因为JTextField显示文本框时可以在文本框的右边显示,符合Windows自带计算器的特点。

answerText和memoryState的背景色为白色,都不能进行编辑。

answerText为右对齐,大小为18个字符,而memoryState为2个字符。

*/

voidinitTextField()

{

textBuffer=newStringBuffer("");

answerText=newJTextField(textBuffer.toString(),18);

answerText.setHorizontalAlignment(JTextField.RIGHT);

answerText.setEditable(false);

answerText.setBackground(Color.white);

memoryState=newJTextField

(2);

memoryState.setEditable(false);

memoryState.setBackground(Color.white);

}

/*

initButtons()函数是对各按钮进行初始化,为每一个按钮增加其标签并增加了addActionListener(this)功能,用于给各按钮增加属性,具体的功能代码,请见actionPerformed(ActionEvente);其中,数字按钮、四则运算按钮、小数点按钮都增加了键盘输入功能addKeyListener其参数为匿名类KeyListener的适配器newKeyAdapter(),当在键盘上按下相应的键时,为其增加相应的属性功能。

*/

voidinitButtons()

{

buttonBackSpace=newButton("BackSpace");

buttonBackSpace.addActionListener(this);

buttonCE=newButton("CE");

buttonCE.addActionListener(this);

buttonC=newButton("C");

buttonC.addActionListener(this);

buttonNum=newButton[10];

for(inti=0;i

{

buttonNum[i]=newButton(Integer.toString(i));

buttonNum[i].addActionListener(this);

buttonNum[i].addKeyListener(newKeyAdapter(){

publicvoidkeyTyped(KeyEvente){

if(Character.isDigit(e.getKeyChar()))

{

textBuffer.append(e.getKeyChar());

answerText.setText(textBuffer.toString());

AddNum();

}

}

});

}

buttonAdd=newButton("+");

buttonAdd.addActionListener(this);

buttonAdd.addKeyListener(newKeyAdapter(){

publicvoidkeyTyped(KeyEvente){

if(e.getKeyChar()=='+')

AddFunction

(1);

}

});

buttonSub=newButton("-");

buttonSub.addActionListener(this);

buttonSub.addKeyListener(newKeyAdapter(){

publicvoidkeyTyped(KeyEvente){

if(e.getKeyChar()=='-')

AddFunction

(2);

}

});

buttonMul=newButton("*");

buttonMul.addActionListener(this);

buttonMul.addKeyListener(newKeyAdapter(){

publicvoidkeyTyped(KeyEvente){

if(e.getKeyChar()=='*')

AddFunction(3);

}

});

buttonDiv=newButton("/");

buttonDiv.addActionListener(this);

buttonDiv.addKeyListener(newKeyAdapter(){

publicvoidkeyTyped(KeyEvente){

if(e.getKeyChar()=='/')

AddFunction(4);

}

});

buttonDot=newButton(".");

buttonDot.addActionListener(this);

buttonDot.addKeyListener(newKeyAdapter(){

publicvoidkeyTyped(KeyEvente){

if(e.getKeyChar()=='.')

{

textBuffer.append(e.getKeyChar());

answerText.setText(textBuffer.toString());

AddNum();

}

}

});

buttonEqual=newButton("=");

buttonEqual.addActionListener(this);

buttonEqual.addKeyListener(newKeyAdapter(){

publicvoidkeyTyped(KeyEvente){

if(e.getKeyChar()=='=')

OnGo();

}

});

}

/*

initMenu()函数是对各菜

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2