JAVA编程题全集100题及答案文档格式.docx

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

JAVA编程题全集100题及答案文档格式.docx

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

JAVA编程题全集100题及答案文档格式.docx

byte[]buf=newbyte[2056];

try{

FileInputStreamfileIn=newFileInputStream("

e:

/myjava/"

);

intbytes=(buf,0,2056);

Stringstr=newString(buf,0,bytes);

e){

();

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

(p190,例7-2)

publicclassIODemo{

publicstaticvoidmain(Stringargs[]){

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

intt;

try

{DataOutputStreamout=newDataOutputStream(newFileOutputStream(“”));

for(inti=0;

i<

i++)

(data[i]);

();

DataInputStreamin=newDataInputStream(newFileInputStream(“”));

for(inti=;

i>

=0;

i--){

t=(data[i]);

”+t);

}catch(IOExceptione)

{}

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

Applet>

标记的子标记<

Param>

传递。

importclassMoveMessageextendsJAppletimplementsRunnable{

Stringstr;

inttime;

privateThreadthread;

publicvoidinit(){

setBackground;

str=getParameter("

message"

StringtimeArg=getParameter("

time"

time=(timeArg);

thread=newThread(this);

publicvoidstart(){

();

publicvoidrun(){

intx=0;

Graphicsg=getGraphics();

while(true){

try{

(time);

}catch(Exceptione){

();

}

(0,0,getWidth(),getHeight());

(str,x,30);

x+=2;

if(x>

=getWidth())

x=0;

<

html>

<

body>

<

Appletcode="

width=400height=60>

<

paramname="

value="

学好java有工作"

>

200"

/Applet>

/body>

/html>

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

(p202,例8-1)

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

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

importclassButtonEventDemoextendsJPanelimplementsActionListener{

protectedJButtonb1;

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

import.*;

publicclassWatchextendsApplet{

publicvoidpaint(Graphicsg){

Dated=newDate();

DateFormatldf=,;

oString();

(time,100,100);

try{

(1000);

}catch(InterruptedExceptione){}

repaint();

head>

title>

JavaAppletDemo<

/title>

/head>

appletcode=””width=300height=200>

/applet>

Java<

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

共有学生:

++"

,平均成绩:

+sum/;

"

最小学分:

+min+"

,最大学分:

+max);

【程序1】?

题目:

古典问题:

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

publicclasslianxi04{

publicstaticvoidmain(String[]args){

Scanners=newScanner;

请键入一个正整数:

intn=();

intk=2;

+"

="

while(k<

=n){

if(k==n){

elseif(n%k==0){+"

*"

n=n/k;

}

elsek++;

【程序5】?

利用条件运算符的嵌套来完成此题:

学习成绩>

=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

publicclasslianxi05{

publicstaticvoidmain(String[]args){

intx;

chargrade;

请输入一个成绩:

x=();

grade=x>

=90'

A'

:

x>

=60'

B'

'

C'

等级为:

+grade);

}

【程序6】?

输入两个正整数m和n,求其最大公约数和最小公倍数。

/**在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。

*/

publicclasslianxi06{

inta,b,m;

Scanners=newScanner;

键入一个整数:

a=();

再键入一个整数:

b=();

deffcd=newdeff();

m=(a,b);

intn=a*b/m;

最大公约数:

+m);

最小公倍数:

+n);

classdeff{

publicintdeff(intx,inty){

intt;

if(x<

y){

t=x;

x=y;

y=t;

}?

while(y!

=0){

if(x==y)returnx;

else{

intk=x%y;

y=k;

returnx;

【程序7】?

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

publicclasslianxi07{

intdigital=0;

intcharacter=0;

intother=0;

intblank=0;

char[]ch=null;

Scannersc=newScanner;

Strings=();

ch=();

i<

i++){

if(ch>

='

0'

&

&

ch<

9'

){

digital++;

}elseif((ch>

a'

z'

)||ch>

'

Z'

character++;

}elseif(ch=='

blank++;

}else{

other++;

数字个数:

+digital);

英文字母个数:

+character);

空格个数:

+blank);

其他字符个数:

+other);

【程序8】?

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

publicclasslianxi08{

longa,b=0,sum=0;

输入数字a的值:

a=();

输入相加的项数:

inti=0;

while(i<

n){

b=b+a;

sum=sum+b;

a=a*10;

++i;

【程序9】?

一个数如果恰好等于它的因子之和,这个数就称为"

完数"

例如6=1+2+3.编程找出1000以内的所有完数。

publicclasslianxi09{

1到1000的完数有:

for(inti=1;

1000;

intt=0;

for(intj=1;

j<

=i/2;

j++){

if(i%j==0){

t=t+j;

if(t==i){

【程序10】?

一球从100米高度自由落下,每次落地后反跳回原高度的一半;

再落下,求它在第10次落地时,共经过多少米第10次反弹多高

publicclasslianxi10{

doubleh=100,s=100;

10;

s=s+h;

h=h/2;

经过路程:

+s);

反弹高度:

+h/2);

【程序11】?

有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数都是多少?

publicclasslianxi11{

intcount=0;

for(intx=1;

x<

5;

x++){

for(inty=1;

y<

y++){

for(intz=1;

z<

z++){

if(x!

=y&

y!

=z&

x!

=z){

count++;

+y*10+z);

共有"

+count+"

个三位数"

【程序12】?

企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;

利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成%;

20万到40万之间时,高于20万元的部分,可提成5%;

40万到60万之间时高于40万元的部分,可提成3%;

60万到100万之间时,高于60万元的部分,可提成%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润,求应发放奖金总数?

publicclasslianxi12{

doublex=0,y=0;

输入当月利润(万):

if(x>

0&

x<

=10){

y=x*;

}elseif(x>

10&

=20){

y=10*+(x-10)*;

20&

=40){

y=10*+10*+(x-20)*;

40&

=60){

y=10*+10*+20*+(x-40)*;

60&

=100){

y=20*+20*+20*+(x-60)*;

100){

y=20*+40*+40*+(x-100)*;

应该提取的奖金是"

+y+"

万"

【程序13】?

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

publicclasslianxi13{

for(intx=1;

100000;

if(x+100)%1==0){

if(x+268)%1==0){

加100是一个完全平方数,再加168又是一个完全平方数"

/*按题意循环应该从-100开始(整数包括正整数、负整数、零),这样会多一个满足条件的数-99。

但是我看到大部分人解这道题目时都把题中的“整数”理解成正整数,我也就随大流了。

*/

【程序14】?

输入某年某月某日,判断这一天是这一年的第几天?

publicclasslianxi14{

intyear,month,day;

intdays=0;

intd=0;

inte;

inputfymd=newinput();

do{

e=0;

输入年:

year=();

输入月:

month=();

输入天:

day=();

if(year<

0||month<

0||month>

12||day<

0||day>

31){

输入错误,请重新输入!

e=1;

}while(e==1);

for(inti=1;

i<

month;

switch(i){

case1:

case3:

case5:

case7:

case8:

case10:

case12:

days=31;

break;

case4:

case6:

case9:

case11:

days=30;

case2:

if((year%400==0)||(year%4==0&

year%100!

=0)){

days=29;

days=28;

d+=days;

-"

+month+"

+day+"

是这年的第"

+(d+day)+"

天。

classinput{

publicintinput(){

intvalue=0;

value=();

returnvalue;

【程序15】?

输入三个整数x,y,z,请把这三个数由小到大输出。

publicclasslianxi15{

inputfnc=newinput();

intx=0,y=0,z=0;

输入第一个数字:

输入第二个数字:

y=();

输入第三个数字:

z=();

intt=x;

z){

x=z;

z=t;

if(y>

intt=y;

y=z;

三个数字由小到大排列为:

+x+"

+z);

【程序16】

输出9*9口诀。

publicclasslianxi16{

=i;

+i+"

+j*i+"

if(j*i<

10){"

【程序17】?

猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

publicclasslianxi17{

intx=1;

for(inti=2;

=10;

x=(x+1)*2;

猴子第一天摘了"

+x+"

个桃子"

【程序18】?

两个乒乓球队进行比赛,各出三人。

甲队为a,b,c三人,乙队为x,y,z三人。

已抽签决定比赛名单。

有人向队员打听比赛的名单。

a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

publicclasslianxi18{

staticchar[]m={'

'

b'

c'

};

staticchar[]n={'

x'

y'

for(inti=0;

i

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

当前位置:首页 > 高中教育 > 理化生

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

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