Java实验报告副本Word下载.docx
- 文档编号:20868515
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:52
- 大小:308.52KB
Java实验报告副本Word下载.docx
《Java实验报告副本Word下载.docx》由会员分享,可在线阅读,更多相关《Java实验报告副本Word下载.docx(52页珍藏版)》请在冰豆网上搜索。
publicclassAccept{
publicstaticvoidmain(String[]args){
请输入一个摄氏温度值:
intcel=scan.nextInt();
doublef=cel*1.8+32;
System.out.println(cel+"
摄氏度转化成华氏度为:
+f);
⒊编写应用程序,按升序顺序输出一维数组中的元素。
publicclassSort{
intarray[]=newint[10];
Scannerscan=newScanner(System.in);
请输入10个正整数:
for(inti=0;
i<
10;
i++)
{
array[i]=scan.nextInt();
选择排序后的结果为:
10-1;
{intk=i;
for(intj=i+1;
j<
j++)
if(array[j]<
array[k])
k=j;
intt=array[i];
array[i]=array[k];
array[k]=t;
//Foreach(inttmpinarray)
//{
//
//}
for(inti:
array)
System.out.print(i);
System.out.print("
\t"
实验三、面向对象编程实验
⒈接口的编写
publicinterfaceInterfaceclass{
inti=4;
intk=5;
voidfunc1();
intfunc2(intx);
//主类
publicclassUseInterfaceimplementsInterfaceclass{
intj;
publicvoidfunc1()//在使用接口的类中一定要实现接口中的所有抽象方法
{
func1="
+1);
publicintfunc2(inti)
func2="
returni;
UseInterfacex=newUseInterface();
x.func1();
inty=x.func2(k);
func2()的返回值是:
+y);
程序运行结果截屏如下:
⒉多态在工资系统中的应用
设计一个根据雇员类型利用abstract方法和多态性完成工资单计算的程序。
Employee是抽象类,Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。
该例的Employee的每个子类都声明为final,因为不需要再继承它们生成子类。
对所有雇员类型都使用earnings()方法,但每个人挣的工资按他所属的雇员类计算,所有雇员类都是从超类Earnings()派出生的。
所有在超类中声明earnings()为抽象方法,并且对于每个子类都提供恰当的earnings()的实现方法。
程序源代码如下:
publicabstractclassEmployee{
publicabstractvoidearnings();
publicdoublesalary;
publicfinalclassBossextendsEmployee{
doublet;
//固定工资
publicBoss(doublet1)
{this.t=t1;
@Override
publicvoidearnings(){
salary=t;
Theboss'
ssalaryis:
+salary);
publicfinalclassCommissionWorkerextendsEmployee{
doublebaseSalary,selled;
publicCommissionWorker(doublebaseSalary1,doubleselled1)
{this.baseSalary=baseSalary1;
this.selled=selled1;
salary=baseSalary+selled*0.1;
TheCommissionWorker'
publicfinalclassPieceWorkerextendsEmployee{
doubleproduction;
//生产的产品数
intn;
//每件产品的工资
publicPieceWorker(doubleproduction1,intn1)
{this.production=production1;
this.n=n1;
salary=n*production;
ThePieceWorker'
publicfinalclassHourlyWorkerextendsEmployee{inthour;
doublehourSalry;
publicHourlyWorker(inthour1,doublehourSalary1)
{this.hour=hour1;
this.hourSalry=hourSalary1;
salary=hour*hourSalry;
TheHourlyWorker'
publicclasssalaryDemo{
Employee[]empobj=newEmployee[4];
//建立一个对象数组,并用子类初始化父类对象
empobj[0]=newBoss(10000);
empobj[0].earnings();
empobj[1]=newCommissionWorker(2500,5000);
empobj[1].earnings();
empobj[2]=newPieceWorker(2000.0,2);
empobj[2].earnings();
empobj[3]=newHourlyWorker(8,16);
empobj[3].earnings();
Ok,It'
stheend!
!
程序运行结果截屏如下:
⒊包的建立与使用
packagemypackage;
publicclassCalculate
{
privateinta;
publicCalculate(inta)
{this.a=a;
Fromconstrartion:
+this.a);
publicdoublevolume(doubleheight,doublewidth,doubledepth)
{returnheight*width*depth;
intadd(intx,inty)
{returnx+y;
protectedvoida()
System.out.println("
Fromconstration"
+a);
importmypackage.Calculate;
publicclassPackageDemo{
Calculatec=newCalculate(10);
doubles=c.volume(5,6,7);
System.out.println(s);
//intb=c.add(5,6);
默认权限的方法在其他包的类中是不可见的
//c.a();
保护型的方法在其他包的类中也是不可见的
实验四、异常处理实验
⒈异常的捕获
计算两数相除并输出结果。
使用两个catch子句,分别捕捉除数为0的异常和参数输入有误异常。
importjava.io.*;
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
classEx1
publicstaticvoidmain(Stringargs[])
try{
BufferedReaderstrin=newBufferedReader(newInputStreamReader(System.in));
System.out.print("
请输入除数:
Stringcl=strin.readLine();
inta=Integer.parseInt(cl);
请输入被除数:
cl=strin.readLine();
intb=Integer.parseInt(cl);
intc=b/a;
System.out.println("
商为:
+c);
//捕获与I/O有关的异常
catch(IOExceptione)
e.printStackTrace();
}
/*捕获数值转化时的异常,如不能将字符转化成数值
e.printStackTrace();
}*/
//捕获数值转化时的异常,如不能将字符转化成数值
catch(NumberFormatExceptione)
{System.out.println("
请输入整数!
e.printStackTrace();
//捕获除数为0的异常
catch(ArithmeticExceptione){
除数不可以0!
⒉定义异常
编写程序包含自定义异常,当输入数值为13和4时抛出该异常。
classEx2extendsException
{
Ex2(Stringmsg)
super(msg);
classMyEx
privateintx;
voidsetX(intx)
this.x=x;
voidf1()throwsEx2
if(x==13)
thrownewEx2("
Idon’tlike13!
elseif(x==4)
Idon’tlike4!
else
System.out.println(100/x);
publicstaticvoidmain(Stringargs[])
MyExa=newMyEx();
try
a.setX(5);
//a.setX(13);
//a.setX(4);
//a.setX(0);
a.f1();
catch(Ex2e)
getmessage:
+e.getMessage());
实验六、图形图像实验
1.绘制图形
importjava.applet.*;
importjava.awt.*;
publicclassGraextendsApplet
Fontf1=newFont("
Helvetica"
Font.PLAIN,28);
publicvoidpaint(Graphicsg)
g.setFont(f1);
g.setColor(Color.blue);
g.drawString("
我是美丽的大气球!
120,50);
g.setColor(Color.green);
g.drawOval(100,20,200,100);
g.setColor(Color.black);
g.fillOval(180,60,10,10);
g.setColor(Color.red);
g.drawArc(130,50,50,180,180,120);
g.setColor(Color.yellow);
g.drawLine(150,120,150,250);
}}
实验七、GUI(图形用户接口)实验
⒈制作一个简单的画板
importjava.awt.event.*;
publicclassMouextendsAppletimplementsMouseMotionListener
intx=-1,y=-1;
publicvoidinit()
setBackground(Color.cyan);
addMouseMotionListener(this);
if(x!
=-1&
&
y!
=-1)
g.setColor(Color.red);
g.drawLine(x,y,x,y);
publicvoidmouseDragged(MouseEvente)
x=(int)e.getX();
y=(int)e.getY();
publicvoidmouseMoved(MouseEvente){}//由于使用的是Listener,需要将其他不重载的方//法,列举在这里
publicvoidupdate(Graphicsg)
paint(g);
⒉菜单的编写
importjavax.swing.*;
publicclassTestMenu//定义主类
publicstaticvoidmain(String[]args)
MyMenuFramemf=newMyMenuFrame();
mf.setSize(newDimension(300,200));
//指定窗口初始大小
mf.setVisible(true);
//使窗口可见,默认为不可见
//定义窗口
classMyMenuFrameextendsFrameimplementsActionListener,ItemListener
privatestaticfinallongserialVersionUID=1L;
MenuBarm_MenuBar;
MenumenuFile,menuEdit,m_Edit_Paste;
MenuItemmi_File_Open,mi_File_Close,mi_File_Exit,mi_Edit_Copy;
MenuItempi_New,pi_Del,pi_Pro,mi_paste_All,mi_Paste_Part;
CheckboxMenuItemmi_Edit_cut;
PopupMenupopM;
TextAreata;
MyMenuFrame()
super("
拥有菜单的窗口"
//指定窗口标题
ta=newTextArea("
nochoice"
5,20);
ta.addMouseListener((MouseListener)newHandleMouse(this));
//文本域响应鼠标事件
add("
Center"
ta);
//创建弹出式菜单
popM=newPopupMenu();
pi_New=newMenuItem("
新建"
pi_New.addActionListener(this);
popM.add(pi_New);
pi_Del=newMenuItem("
删除"
pi_Del.addActionListener(this);
popM.add(pi_Del);
pi_Pro=newMenuItem("
属性"
pi_Pro.addActionListener(this);
popM.add(pi_Pro);
//将弹出式菜单加在文本域上
ta.add(popM);
m_MenuBar=newMenuBar();
//创建菜单栏
menuFile=newMenu("
文件"
//创建菜单项、菜单自项并指定快捷键
mi_File_Open=newMenuItem("
打开"
newMenuShortcut('
o'
));
mi_File_Close=newMenuItem("
关闭"
mi_File_Exit=newMenuItem("
退出"
mi_File_Exit.setShortcut(newMenuShortcut('
x'
mi_File_Open.setActionCommand("
mi_File_Close.setActionCommand("
mi_File_Open.addActionListener(this);
mi_File_Close.addActionListener(this);
//自身作为监视器
mi_File_Exit.addActionListener(this);
menuFile.add(mi_File_Open);
menuFile.add(mi_File_Close);
menuFile.addSeparator();
menuFile.add(mi_File_Exit);
m_MenuBar.add(menuFile);
menuEdit=newMenu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java实验报告 副本 Java 实验 报告