java程序的设计15道经典习题Word格式文档下载.docx

上传人:b****2 文档编号:326895 上传时间:2023-04-28 格式:DOCX 页数:16 大小:20.07KB
下载 相关 举报
java程序的设计15道经典习题Word格式文档下载.docx_第1页
第1页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第2页
第2页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第3页
第3页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第4页
第4页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第5页
第5页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第6页
第6页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第7页
第7页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第8页
第8页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第9页
第9页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第10页
第10页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第11页
第11页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第12页
第12页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第13页
第13页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第14页
第14页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第15页
第15页 / 共16页
java程序的设计15道经典习题Word格式文档下载.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

java程序的设计15道经典习题Word格式文档下载.docx

《java程序的设计15道经典习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《java程序的设计15道经典习题Word格式文档下载.docx(16页珍藏版)》请在冰点文库上搜索。

java程序的设计15道经典习题Word格式文档下载.docx

i<

=10;

i++){

mul=1;

for(j=1,j<

=i;

j++){

mul=mul*j;

sum=sum+mul;

System.out.println(“1!

=”+sum);

4.

(1)编写一个圆类Circle,该类拥有:

①一个成员变量

Radius(私有,浮点型);

//存放圆的半径;

②两个构造方法

Circle()//将半径设为0

Circle(doubler)//创建Circle对象时将半径初始化为r

③三个成员方法

doublegetArea()//获取圆的面积

doublegetPerimeter()//获取圆的周长

voidshow()//将圆的半径、周长、面积输出到屏幕

(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。

还拥有:

doublehight(私有,浮点型);

//圆柱体的高;

②构造方法

Cylinder(doubler,doubleh)//创建Circle对象时将半径初始化为r

③成员方法

doublegetVolume()//获取圆柱体的体积

voidshowVolume()//将圆柱体的体积输出到屏幕

编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。

//ProgrammeNameTestCylinder.java

classCircle{//定义父类--园类

privatedoubleradius;

//成员变量--园半径

Circle(){//构造方法

radius=0.0;

Circle(doubler){//构造方法

radius=r;

doublegetPerimeter(){//成员方法--求园周长

return2*Math.PI*radius;

doublegetArea(){//成员方法--求园面积

returnMath.PI*radius*radius;

voiddisp(){//成员方法--显示园半径、周长、面积

System.out.println("

园半径="

+radius);

园周长="

+getPerimeter());

园面积="

+getArea());

classCylinderextendsCircle{//定义子类--圆柱类

privatedoublehight;

//成员变量--园柱高

Cylinder(doubler,doubleh){//构造方法

super(r);

hight=h;

publicdoublegetVol(){//成员方法--求园柱体积

returngetArea()*hight;

publicvoiddispVol(){//成员方法--显示园柱体积

圆柱体积="

+getVol());

publicclassTestCylinder{//定义主类

publicstaticvoidmain(String[]args){//主程入口

CircleCi=newCircle(10.0);

//生成园类实例

Ci.disp();

//调用园类的方法

CylinderCyl=newCylinder(5.0,10.0);

//生成圆柱类实例

Cyl.disp();

//调用父类方法

Cyl.dispVol();

//调用子类方法

5、编写一个Java应用程序,从键盘读取用户输入两个字符串,并重载3个函数分别实现这两个字符串的拼接、整数相加和浮点数相加。

要进行异常处理,对输入的不符合要求的字符串提示给用户,不能使程序崩溃。

(p39,例2-10,2-11)

//programmenameStrinput.java

importjava.io.*;

publicclassStrinput

{

publicstaticvoidmain(Stringargs[]){

Strings1,s2,ss,si,sf;

inti1,i2;

floatf1,f2;

BufferedReaderstrin=newBufferedReader(newInputStreamReader(System.in));

try{System.out.print("

输入第一个字符串:

s1=strin.readLine();

输入第二个字符串:

s2=strin.readLine();

catch(Exceptione){System.out.println(e.getMessage());

i1=Integer.parseInt(s1);

i2=Integer.parseInt(s2);

f1=Float.parseFloat(s1);

f2=Float.parseFloat(s2);

ss=strAdd(s1,s2);

si=strAdd(i1,i2);

sf=strAdd(f1,f2);

System.out.println("

输入的二个字符串相加结果为:

+ss);

输入字符串转换为整数相加结果为:

+si);

输入字符串转换为浮点数相加结果为:

+sf);

}

StringstrAdd(Stringstr1,Stringstr2){

returnstr1+str2;

StringstrAdd(intint1,intint2){

returnString.valueOf(int1+int2);

StringstrAdd(floatflt1,floatflt2){

returnString.valueOf(flt1+flt2);

6.应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上。

(被读取的文件路径为:

E:

/myjava/Hello.java)

//ProgrammeNameFISDemo.java

publicclassFISDemo{

byte[]buf=newbyte[2056];

try{

FileInputStreamfileIn=newFileInputStream("

e:

/myjava/Hello.java"

intbytes=fileIn.read(buf,0,2056);

Stringstr=newString(buf,0,bytes);

System.out.println(str);

}catch(Exceptione){

e.printStackTrace();

7、编写一个Java程序将当100,101,102,103,104,105个数以数组的形式写入到Dest.txt文件中,并以相反的顺序读出显示在屏幕上。

(p190,例7-2)

//programmenameIODemo.java

importjava.io.*;

publicclassIODemo{

publicstaticvoidmain(Stringargs[]){

intdata[]={100,101,102,103,104,105};

intt;

try

{DataOutputStreamout=newDataOutputStream(newFileOutputStream(“dest.txt”));

for(inti=0;

data.length;

i++)

out.WriteInt(data[i]);

out.close();

DataInputStreamin=newDataInputStream(newFileInputStream(“dest.txt”));

for(inti=data.length-1;

i>

=0;

i--){

t=in.readInt(data[i]);

System.out.print(“”+t);

System.out.println();

in.close();

}catch(IOExceptione)

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

8.利用Applet类和Runnable接口实现滚动字幕,其中字幕文字(“学好Java有工作”)和时间间隔(“200”)需要由页面文件中<

Applet>

标记的子标记<

Param>

传递。

importjava.awt.Color;

importjava.awt.Graphics;

importjavax.swing.JApplet;

publicclassMoveMessageextendsJAppletimplementsRunnable{

Stringstr;

inttime;

privateThreadthread;

publicvoidinit(){

setBackground(Color.PINK);

str=getParameter("

message"

StringtimeArg=getParameter("

time"

time=Integer.parseInt(timeArg);

;

thread=newThread(this);

publicvoidstart(){

thread.start();

publicvoidrun(){

intx=0;

Graphicsg=getGraphics();

while(true){

try{

Thread.sleep(time);

}catch(Exceptione){

e.printStackTrace();

}

g.clearRect(0,0,getWidth(),getHeight());

g.drawString(str,x,30);

x+=2;

if(x>

=getWidth())

x=0;

<

html>

<

body>

<

Appletcode="

MoveMessage.class"

width=400height=60>

<

paramname="

value="

学好java有工作"

>

200"

/Applet>

/body>

/html>

9、编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次。

(p202,例8-1)

//programmenameTestThread;

//声明一个子线程类Threaddemo;

classThreadDemoextendsThread{

publicThreadDemo(Stringstr){

super(str);

20;

i++){

System.out.print(“”+this.getName());

Try{

Sleep(300);

}catch(InterruptedExceptione){

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

Return;

System.out.println(“/end”);

publicclassTestThread{

ThreadDemothread1=newThreadDemo(“T1”);

ThreadDemothread2=newThreadDemo(“T2”);

ThreadDemothread3=newThreadDemo(“T3”);

thread1.start();

thread2.start();

thread3.start();

10.编写程序,在屏幕上显示带标题的窗口,并添加一个按钮。

当用户单击按钮时,结束程序。

//ProgrammeNameButtonEventDemo.java

importjavax.swing.*;

importjava.awt.event.*;

publicclassButtonEventDemoextendsJPanelimplementsActionListener{

protectedJButtonb1;

//声明一个按钮对象

publicButtonEventDemo(){//构造方法

ImageIconButtonIcon=newImageIcon("

images/green.png"

//创建按钮的图标对象

b1=newJButton("

退出按钮"

ButtonIcon);

//生成按钮对象

b1.setMnemonic(KeyEvent.VK_E);

//设置b1的助记符是Alt+E

b1.setToolTipText("

这是退出按钮。

//设置按钮提示条

this.add(b1);

//往面板对象中加载按钮

b1.addActionListener(this);

//本类对象注册为按钮的事件监听器

publicvoidactionPerformed(ActionEvente){//按钮事件响应方法

System.exit(0);

//按b1则退出主程序

privatestaticvoidcreateGUI(){//创建窗体

JFrame.setDefaultLookAndFeelDecorated(true);

//设置java隐含观感

JFrameframe=newJFrame("

按钮测试"

//生成应用程序主窗体

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//设置关闭时隐含操作

ButtonEventDemoCPane=newButtonEventDemo();

//生成主类对象--面板

CPane.setOpaque(true);

//面板要求不透明

frame.setContentPane(CPane);

//设置主类对象为主窗体的容面板

frame.pack();

//主窗体紧缩显示

frame.setVisible(true);

//设置主窗体可见

publicstaticvoidmain(String[]args){//将createGUI()列入线程

javax.swing.SwingUtilities.invokeLater(newRunnable(){

createGUI();

});

11.利用线程方法编写JApplet程序,实现在浏览器端实时动态显示本地系统时钟

//ProgrammeNameWatch.java

importjava.applet.Applet;

importjava.awt.*;

importjava.text.DateFormat;

importjava.util.*;

publicclassWatchextendsApplet{

publicvoidpaint(Graphicsg){

Dated=newDate();

DateFormatldf=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);

//System.out.println("

现在系统时间是(long):

+ldf.format(d));

Stringtime=ldf.format(d).toString();

g.drawString(time,100,100);

try{

Thread.sleep(1000);

}catch(InterruptedExceptione){}

repaint();

head>

title>

JavaAppletDemo<

/title>

/head>

appletcode=”Watch.class”width=300height=200>

/applet>

//保存为Watch.html文件

12、定义一个表示学生信息的类Student,要求如下:

 

(1)类Student的成员变量:

sNO 表示学号;

sName表示;

sSex表示性别;

sAge表示年龄;

sJava:

表示Java课程成绩。

 

(2)类Student带参数的构造方法:

在构造方法过形参完成对成员变量的赋值操作。

(3)类Student的方法成员:

getNo():

获得学号;

getName():

获得;

getSex():

获得性别;

getAge()获得年龄;

getJava():

获得Java课程成绩

(4)根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。

//PragrammenameStudent;

publicclassStudent{

StringsNO,sName,sSex;

intsAge,sJava;

publicStudent(StringXH,StringXM,StringXB,intNL,intXF){

super();

sNO=XH;

sName=XM;

sSex=XB;

sAge=NL;

sJava=XF;

publicStringgetNO(){

returnsNO;

publicStringgetName(){

returnsName;

publicStringgetSex(){

returnsSex;

publicintgetAge(){

returnsAge;

publicintgetJava(){

returnsJava;

publicstaticvoidmain(String[]args){

Student[]st=newStudent[5];

st[0]=newStudent("

09zc01"

"

三"

男"

19,94);

st[1]=newStudent("

09zc02"

四"

20,85);

st[2]=newStudent("

09zc03"

王五"

女"

18,96);

st[3]=newStudent("

09zc04"

六"

17,90);

st[4]=newStudent("

09zc05"

七"

21,88);

intmax=0,min=100,sum=0;

System.out.println("

学生信息:

for(inti=0;

st.length;

if(st[i].sJava<

min)

min=st[i].sJava;

if(st[i].sJava>

max)

max=st[i].sJava;

sum=sum+st[i].sJava;

学生编号:

+st[i].getNO()+"

,:

+st[i].getName()+"

,性别:

+st[i].getSex()+"

,年龄:

+st[i].getAge()+"

,Java课学分:

+st[i].getJava());

System.out.println();

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

当前位置:首页 > 人文社科

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

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