太原理工大学Java实验报告Word文档格式.docx

上传人:b****6 文档编号:18985750 上传时间:2023-01-02 格式:DOCX 页数:53 大小:943.21KB
下载 相关 举报
太原理工大学Java实验报告Word文档格式.docx_第1页
第1页 / 共53页
太原理工大学Java实验报告Word文档格式.docx_第2页
第2页 / 共53页
太原理工大学Java实验报告Word文档格式.docx_第3页
第3页 / 共53页
太原理工大学Java实验报告Word文档格式.docx_第4页
第4页 / 共53页
太原理工大学Java实验报告Word文档格式.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

太原理工大学Java实验报告Word文档格式.docx

《太原理工大学Java实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《太原理工大学Java实验报告Word文档格式.docx(53页珍藏版)》请在冰豆网上搜索。

太原理工大学Java实验报告Word文档格式.docx

4.使用for循环语句输出习题3.5中的图案。

5.完成习题3.9的编程、调试与运行。

6.完成习题4.5和4.7的编程、调试与运行。

主要仪器设备

台式或笔记本计算机

实验记录(写出实验内容中3,5,6的程序代码和运行结果)(可分栏或加页)

2.7程序代码

importjava.util.Scanner;

publicclassDataType

{

publicstaticvoidmain(String[]args)

{

Scannerin=newScanner(System.in);

System.out.print("

请输入一个long型数据(输完按enter结束):

"

);

longa=in.nextLong();

请输入一个float型数据(输完按enter结束):

floatb=in.nextFloat();

请输入一个double型数据(输完按enter结束):

doublec=in.nextDouble();

System.out.println("

long:

+a);

float:

+b);

double:

+c);

}

}

运行结果

3.9程序代码

publicclassValueFore

intn;

ValueFore()

this.n=calculateN();

doublestackBy(intn)

inti;

doubles=1;

for(i=1;

i<

=n;

i++)

{

s*=i;

}

returns;

doubleoverlap()

doublesum=1;

=this.n;

sum+=1/stackBy(i);

returnsum;

intcalculateN()

inti=1;

doublea=in.nextDouble();

while(1/stackBy(i)>

a)

i++;

returni;

booleanb=true;

while(b)

System.out.println("

请选择菜单:

1.计算不同精度的e值"

2.退出"

switch(in.nextByte())

{

case1:

{

System.out.println("

请输入精度(例如:

1e-3,表示0.001):

ValueForea=newValueFore();

e="

+a.overlap());

};

break;

case2:

b=false;

}

说明:

没有按书中的要求去求,但是这个程序功能更强,运用了菜单的方式,使用程序的人能求出不同精度的e值。

4.5程序代码

publicclassStringText

Stringstr1="

Iam"

;

Stringstr2="

astudent"

Stringstr3="

我是中国人"

StringBufferstr=newStringBuffer();

str.append(str1).append(str2).append(str3);

System.out.println(str);

System.out.println(str.charAt(8));

System.out.println(str.charAt(16));

4.7程序代码

publicclassTriangle

voidprintTriangle(introw)

inti,j;

int[][]a=newint[row][];

for(i=0;

row;

a[i]=newint[i+1];

a[i][0]=1;

a[i][i]=1;

for(i=2;

for(j=1;

j<

i;

j++)

a[i][j]=a[i-1][j-1]+a[i-1][j];

输出杨辉三角为:

for(j=row-1;

j>

j--)

System.out.print("

\t"

for(j=0;

=i;

System.out.print(a[i][j]);

if(i!

=0)

System.out.print("

\t\t"

\n"

Trianglenum=newTriangle();

请输入杨辉三角的行数:

num.printTriangle(in.nextByte());

这个程序同样也具有一定的灵活行,随意输出杨辉三角的行数就就可以得到不同的杨辉三角,比如输入6,得到如下结果:

遇到的问题和解决方法

编写求e值的过程中题中只给出了最后一项的精度,这就要求我们用这一精度去先求出n来,求n就是要解决的问题之一,我用了一个循环,先判断符合不符合精度,如果大于所给精度让初值为1的i自加1;

最后小于精度的那一项停止循环,随之计算出n。

编写杨辉三角的过程中主要是一个排布的过程,因为按题中要求,得输出题中的格式,所以必须在输出的格式中加空格或退格,第二个空格是第一个的二倍,为了看起来比较流畅,我是用加退格,得到运行结果。

心得体会

编写程序是一件令人欣悦的事,当你为解决某个问题绞尽脑汁最后又得到问题的解,那种心情只有自己才知道,我最大的心得就是通过编写简单的程序让我对编写程序有了更高的认识,逻辑上更清晰,增加了个人编程的小技巧,同时更有信心去编写更复杂的程序。

实验二Java面向对象程序设计、异常处理和Applet小程序

1.掌握Java面向对象程序设计中类、继承、包和接口的概念和应用;

2.掌握类变量和实例变量、类方法和实例方法的特点、使用;

3.掌握异常的概念和Java异常处理机制,学会异常处理5个关键字的使用;

4.熟悉Applet小程序的特点和运行过程,掌握Applet程序中常用的方法。

1.完成教材实验4中实验内容

(1)

2.完成教材实验4中实验内容(3)。

3.完成教材实验5中实验内容

(2),指出抛出异常的语句,属于何类异常。

4.完成教材实验5中实验内容(3)。

5.完成教材实验6中实验内容

(2)

实验记录(写出实验内容中1,4,5的程序代码和运行结果)(可分栏或加页)

实验四内容

(1)的程序代码:

importjava.io.*;

publicclassComplex

doublereal,imag;

Complex()

Complex(doublereal,doubleimag)

this.real=real;

this.imag=imag;

voidaddComplex(Complexc1,Complexc2)

this.real=c1.real+c2.real;

this.imag=c1.imag+c2.imag;

("

+this.real+"

"

+this.imag+"

)"

voidminusComplex(Complexc1,Complexc2)

this.real=c1.real-c2.real;

this.imag=c1.imag-c2.imag;

voidmultiplyComplex(Complexc1,Complexc2)

this.real=c1.real*c2.real-c1.imag*c2.imag;

this.imag=c1.real*c2.imag+c1.imag*c2.real;

publicstaticvoidmain(String[]args)throwsIOException

Scannerin=newScanner(System.in);

请输入第一个复数的实部和虚部并用空格隔开:

Complexc1=newComplex(in.nextDouble(),in.nextDouble());

\n请输入第二个复数的实部和虚部并用空格隔开:

Complexc2=newComplex(in.nextDouble(),in.nextDouble());

Complexc=newComplex();

booleana=true;

while(a)

1.复数加法"

2.复数减法"

3.复数乘法"

4.退出"

case1:

c.addComplex(c1,c2);

case2:

c.minusComplex(c1,c2);

case3:

c.multiplyComplex(c1,c2);

case4:

a=false;

输入的数可以是在精度范围内的任何实数,先输入两个复数后然后就可以通过菜单提示的功能去选择是要做加,减,乘,还是退出程序,比书中的要求的相对灵活一些。

实验四内容(3)的程序代码:

packagemymaths;

publicinterfaceMaxMinValue

doubleseekMax(doublea,doubleb,doublec);

doubleseekMin(doublea,doubleb,doublec);

publicclassSeekMaxMinValueimplementsMaxMinValue

doublemax,min;

publicdoubleseekMax(doublea,doubleb,doublec)

this.max=a>

b?

a:

(b>

c?

b:

c);

returnthis.max;

publicdoubleseekMin(doublea,doubleb,doublec)

this.min=a<

(b<

returnthis.min;

publicclassExample

MaxMinValuenum=newSeekMaxMinValue();

1.取最大值"

2.取最小值"

3.退出"

System.out.print("

输入要比较的三个数并用空格隔开:

System.out.println("

Max="

+num.seekMax(in.nextDouble(),in.nextDouble(),in.nextDouble()));

Min="

+num.seekMin(in.nextDouble(),in.nextDouble(),in.nextDouble()));

有些繁琐,但根据提示进行就可以了

实验五内容(三)程序:

publicclassBank

Stringname;

longremainder;

Bank(Stringname,longremainder)

this.name=name;

this.remainder=remainder;

longwithdraeal(longgetMoney)throwsInsufficientFundsException

try

this.remainder=this.remainder-getMoney;

if(this.remainder<

0)

thrownewInsufficientFundsException("

尊敬的"

+this.name+"

您的余额不足"

returnthis.remainder;

catch(InsufficientFundsExceptione)

System.out.println(e.getMessage());

returnthis.remainder=this.remainder+getMoney;

publicstaticvoidmain(String[]args)throwsInsufficientFundsException

请输入您的姓名和存款金额并用空格或回车隔开:

Bankuser=newBank(in.next(),in.nextLong());

1.取款"

请输入您要取款的金额(输完之后按enter结束):

您的卡上余额:

+user.withdraeal(in.nextLong()));

classInsufficientFundsExceptionextendsException

publicInsufficientFundsException(Stringmsg)

super(msg);

书中要求的也没有这么多功能,为了熟悉而加了这些必要的功能,从上述输入的数据中可以看书程序可以解决取钱以后卡上余额的显示,并且继续取还是取余额的钱,当余额不足是会提示信息,并且自己的余额不会变,还可以继续取钱。

实验六内容

(二)程序:

importjava.applet.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassTest1extendsAppletimplementsActionListener

Buttonb=newButton("

change"

Buttonb1=newButton("

change1"

publicvoidinit()

add(b);

add(b1);

b.addActionListener(this);

b1.addActionListener(this);

publicvoidpaint(Graphicsg)

Fontf=newFont("

宋体"

Font.PLAIN,18);

g.setFont(f);

g.setColor(Color.blue);

g.drawString("

Pleaselookatme."

0,30);

publicvoidactionPerformed(ActionEvente)

if(e.getSource()==b)

Graphicsg=getGraphics();

楷体"

g.setColor(Color.black);

0,60);

if(e.getSource()==b1)

Font.PLAIN+Font.ITALIC,18);

g.setColor(Color.green);

0,90);

按钮change按下出来黑字体,按钮change1按下出来绿色字体。

编程过程中遇到结果不一致的情况比较多,比如说银行系统中取走钱后余额是正确的,在取钱时余额又回到了刚开始存的钱,解决这些问题中用的最多的是this的变化,在编写复数是this用的相对也是比较多的,显示了其较高的灵活性!

在编完银行系统时感觉很有成就感,在调试过程中都能按自己的要求去执行,再次提升了我个人对编程的兴趣,小程序我感觉编写的还不够好,只是做到了简单的要求,我想再给我点儿时间会编的更好!

实验三图形用户界面、多线程和多媒体编程

1.掌握文本组件、按钮和单、复选按钮组件的使用;

掌握列表的使用,鼠标、键盘事件的处理;

掌握布局控制的方法;

2.掌握线程的概念、线程的生命周期;

掌握采用扩展Thread类和实现Runnable接口的多线程编程方法;

3.掌握Java中声音播放、图形绘制和显示图像的程序设计方法;

1.编写一个Applet程序响应鼠标事件,当鼠标事件发生时,在状态栏显示相应的

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

当前位置:首页 > 经管营销 > 生产经营管理

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

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