JAVA编程题全集100题及答案 2.docx

上传人:b****7 文档编号:11209168 上传时间:2023-02-25 格式:DOCX 页数:52 大小:33.88KB
下载 相关 举报
JAVA编程题全集100题及答案 2.docx_第1页
第1页 / 共52页
JAVA编程题全集100题及答案 2.docx_第2页
第2页 / 共52页
JAVA编程题全集100题及答案 2.docx_第3页
第3页 / 共52页
JAVA编程题全集100题及答案 2.docx_第4页
第4页 / 共52页
JAVA编程题全集100题及答案 2.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

JAVA编程题全集100题及答案 2.docx

《JAVA编程题全集100题及答案 2.docx》由会员分享,可在线阅读,更多相关《JAVA编程题全集100题及答案 2.docx(52页珍藏版)》请在冰豆网上搜索。

JAVA编程题全集100题及答案 2.docx

JAVA编程题全集100题及答案2

Java程序设计总复习题

1、编写一个Java程序在屏幕上输出“你好!

”。

(p13,例1-1)

//programmenameHelloworld.java

publicclassHelloworld{

publicstaticvoidmain(Stringargs[]){

("你好!

");

}

}

2.编写一个Java程序,用if-else语句判断某年份是否为闰年。

//ProgrammeNameLeapYear.java

publicclassLeapYear{

publicstaticvoidmain(Stringargs[]){

intyear=2010;

if(args.length!

=0)

year=Integer.parseInt(args[0]);

if((year%4==0&&year%100!

=0)||(year%400==0))

"年是闰年。

");

else

"年不是闰年。

");

}

}//if-else语句

3、编写一个Java程序在屏幕上输出1!

+2!

+3!

+……+10!

的和。

(p64,例2-2)

//programmenameForTest.java

publicclassForTest{

publicstaticvoidmain(Stringargs[]){

inti,j,mul,sum=0;

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

mul=1;

for(j=1,j<=i;j++){

mul=mul*j;

}

sum=sum+mul;

publicclassFactorial{//下面的这个方法利用递归的方法求阶乘publicintgetFac(intm){if(m==1){return1;}else{returnm*getFac(m-1);}}publicstaticvoidmain(Stringargs[]){Factorialfac=newFactorial();//;intsum=0;for(inti=1;i<=10;i++){sum+=fac.getFac(i);}"1到10的阶乘的和是:

"+sum);}}}

”+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(){//成员方法--显示圆半径、周长、面积

"圆半径="+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{("输入第一个字符串:

");

s1=strin.readLine();

("输入第二个字符串:

");

s2=strin.readLine();}

catch(Exceptione){;}

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);

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

"+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

importjava.io.*;

publicclassFISDemo{

publicstaticvoidmain(Stringargs[]){

byte[]buf=newbyte[2056];

try{

FileInputStreamfileIn=newFileInputStream("e:

/myjava/Hello.java");

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

Stringstr=newString(buf,0,bytes);

;

}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;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]);

”+t);

}

);

in.close();

}catch(IOExceptione)

{;}

}

}

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

import;

import;

import;

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;

}

}

}

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

(p202,例8-1)

//programmenameTestThread;

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

classThreadDemoextendsThread{

publicThreadDemo(Stringstr){

super(str);

}

publicvoidrun(){

for(inti=0;i<20;i++){

”+this.getName());

Try{

Sleep(300);

}catch(InterruptedExceptione){

;

Return;

}

}

/end”);

}

}

publicclassTestThread{

publicstaticvoidmain(Stringargs[]){

ThreadDemothread1=newThreadDemo(“T1”);

ThreadDemothread2=newThreadDemo(“T2”);

ThreadDemothread3=newThreadDemo(“T3”);

thread1.start();

thread2.start();

thread3.start();

}

}

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

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

//ProgrammeNameButtonEventDemo.java

importjavax.swing.*;

import;

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()列入线程

Runnable(){

publicvoidrun(){

createGUI();

}

});

}

}

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

//ProgrammeNameWatch.java

import;

importjava.awt.*;

import;

importjava.util.*;

publicclassWatchextendsApplet{

publicvoidpaint(Graphicsg){

Dated=newDate();

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

//"现在系统时间是(long):

"+ldf.format(d));

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

g.drawString(time,100,100);

try{

Thread.sleep(1000);

}catch(InterruptedExceptione){}

repaint();

}

}

JavaAppletDemo

//保存为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;

"学生信息:

");

for(inti=0;i

if(st[i].sJava

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());

}

;

"共有学生:

"+st.length+",平均成绩:

"+sum/st.length);

"最小学分:

"+min+",最大学分:

"+max);

}

}

【程序1】   

题目:

古典问题:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

   

//这是一个菲波拉契数列问题

publicclasslianxi01{

publicstaticvoidmain(String[]args){

"第1个月的兔子对数:

   1");

"第2个月的兔子对数:

   1");

intf1=1,f2=1,f,M=24;

    for(inti=3;i<=M;i++){

     f=f2;

     f2=f1+f2;

     f1=f;

     "第"+i

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

当前位置:首页 > 高等教育 > 历史学

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

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