Java基础编程题.docx

上传人:b****9 文档编号:23425185 上传时间:2023-05-17 格式:DOCX 页数:17 大小:17.83KB
下载 相关 举报
Java基础编程题.docx_第1页
第1页 / 共17页
Java基础编程题.docx_第2页
第2页 / 共17页
Java基础编程题.docx_第3页
第3页 / 共17页
Java基础编程题.docx_第4页
第4页 / 共17页
Java基础编程题.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

Java基础编程题.docx

《Java基础编程题.docx》由会员分享,可在线阅读,更多相关《Java基础编程题.docx(17页珍藏版)》请在冰豆网上搜索。

Java基础编程题.docx

Java基础编程题

50道JAVA基础编程练习题

【程序1】

题目:

古典问题:

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

程序分析:

兔子的规律为数列1,1,2,3,5,8,13,21....

publicclassProg1{

publicstaticvoidmain(String[]args){

intn=10;

"第"+n+"个月兔子总数为"+fun(n));

}

privatestaticintfun(intn){

if(n==1||n==2)

return1;

else

returnfun(n-1)+fun(n-2);

}

}

【程序2】

题目:

判断101-200之间有多少个素数,并输出所有素数。

程序分析:

判断素数的方法:

用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

publicclassProg2{

publicstaticvoidmain(String[]args){

intm=1;

intn=1000;

intcount=0;

importclassProg7_1{

publicstaticvoidmain(String[]args){

"请输入一串字符:

");

Scannerscan=newScanner;

Stringstr=();

;

publicclassProg7_2{

publicstaticvoidmain(String[]args){

"请输入一行字符:

");

Scannerscan=newScanner;

Stringstr=();

();

count(str);

}

.a的值,其中a是一个数字。

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

程序分析:

关键是计算出每一项的值。

importclassProg8{

publicstaticvoidmain(String[]args){

"求s=a+aa+aaa+aaaa+...的值,请输入a的值:

");

Scannerscan=newScanner.useDelimiter("\\s*");

程找出1000以内的所有完数。

publicclassProg9{

publicstaticvoidmain(String[]args){

intn=10000;

compNumber(n);

}

seDelimiter("\\s");

inth=();

intn=();

();

distance(h,n);

}

;

publicclassProg12{

publicstaticvoidmain(String[]args){

"请输入当前利润:

");

longprofit=(key_Input());

"应发奖金:

"+bonus(profit));

}

3月5日

seDelimiter("\\D");

seDelimiter("\\D");

"请输入三个数:

");

intx=();

inty=();

intz=();

();

"排序结果:

"+sort(x,y,z));

}

.求出这个数列的前20项之和。

程序分析:

请抓住分子与分母的变化规律。

publicclassProg20{

publicstaticvoidmain(String[]args){

doublen1=1;

doublen2=1;

doublefraction=n1/n2;

doubleSn=0;

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

doublet1=n1;

doublet2=n2;

n1=t1+t2;

n2=t1;

fraction=n1/n2;

Sn+=fraction;

}

}

}

【程序21】

题目:

求1+2!

+3!

+...+20!

的和

程序分析:

此程序只是把累加变成了累乘。

publicclassProg21{

publicstaticvoidmain(String[]args){

longsum=0;

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

sum+=factorial(i+1);

}

;

publicclassProg25{

publicstaticvoidmain(String[]args){

intn=0;

"请输入一个5位数:

");

BufferedReaderbufin=newBufferedReader(newInputStreamReader);

try{

n=());

}catch(IOExceptione){

();

}finally{

try{

();

}catch(IOExceptione){

();

}

}

palin(n);

}

privatestaticvoidpalin(intn){

intm=n;

int[]a=newint[5];

if(n<10000||n>99999){

"输入的不是5位数!

");

return;

}else{

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

a[i]=n%10;

n/=10;

}

if(a[0]==a[4]&&a[1]==a[3])

"是一个回文数");

else

"不是回文数");

}

}

}

【程序26】

题目:

请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

程序分析:

用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。

import.*;

publicclassProg26{

publicstaticvoidmain(String[]args){

Stringstr=newString();

BufferedReaderbufIn=newBufferedReader(newInputStreamReader);

"请输入星期的英文单词前两至四个字母):

");

try{

str=();

}catch(IOExceptione){

();

}finally{

try{

();

}catch(IOExceptione){

();

}

}

week(str);

}

privatestaticvoidweek(Stringstr){

intn=-1;

if().equalsIgnoreCase("Mo")||().equalsIgnoreCase("Mon")||().equalsIgnoreCase("Mond"))

n=1;

if().equalsIgnoreCase("Tu")||().equalsIgnoreCase("Tue")||().equalsIgnoreCase("Tues"))

n=2;

if().equalsIgnoreCase("We")||().equalsIgnoreCase("Wed")||().equalsIgnoreCase("Wedn"))

n=3;

if().equalsIgnoreCase("Th")||().equalsIgnoreCase("Thu")||().equalsIgnoreCase("Thur"))

n=4;

if().equalsIgnoreCase("Fr")||().equalsIgnoreCase("Fri")||().equalsIgnoreCase("Frid"))

n=5;

if().equalsIgnoreCase("Sa")||().equalsIgnoreCase("Sat")||().equalsIgnoreCase("Satu"))

n=2;

if().equalsIgnoreCase("Su")||().equalsIgnoreCase("Sun")||().equalsIgnoreCase("Sund"))

n=0;

switch(n){

case1:

"星期一");

break;

case2:

"星期二");

break;

case3:

"星期三");

break;

case4:

"星期四");

break;

case5:

"星期五");

break;

case6:

"星期六");

break;

case0:

"星期日");

break;

default:

"输入有误!

");

break;

}

}

}

【程序27】

题目:

求100之内的素数

publicclassProg27{

publicstaticvoidmain(String[]args){

intn=100;

"以内的素数:

");

for(inti=2;i

if(isPrime(i))

"");

}

}

ength;j++){

if(i==j)sum1+=a[i][j];

if(j==sum2+=a[i][j];

}

"矩阵对角线之和分别是:

"+sum1+"和"+sum2);

}

}

【程序30】

题目:

有一个已经排好序的数组。

现输入一个数,要求按原来的规律将它插入数组中。

程序分析:

首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

importclassProg30{

publicstaticvoidmain(String[]args){

int[]A=newint[]{0,8,7,5,9,1,2,4,3,12};

int[]B=sort(A);

print(B);

"请输入10个数的数组:

");

Scannerscan=newScanner;

inta=();

();

int[]C=insert(a,B);

print(C);

}

seDelimiter("\\s");

inta=();

intb=();

intc=();

();

if(a

intt=a;

a=b;

b=t;

}

if(a

intt=a;

a=c;

c=t;

}

if(b

intt=b;

b=c;

c=t;

}

""+b+""+c);

}

}

【程序35】

题目:

输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

importclassProg35{

publicstaticvoidmain(String[]args){

"请输入一组数:

");

Scannerscan=newScanner.useDelimiter("\\s");

int[]a=newint[50];

intm=0;

while()){

a[m++]=();

}

();

int[]b=newint[m];

for(inti=0;i

b[i]=a[i];

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

for(intj=0;j<;j++)

if(b[j]

inttemp=b[j];

b[j]=b[j+1];

b[j+1]=temp;

}

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

"");

}

}

【程序36】

题目:

有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

importclassProg36{

publicstaticvoidmain(String[]args){

finalintN=10;

"请输入10个数的数组:

");

Scannerscan=newScanner;

int[]a=newint[N];

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

a[i]=();

"请输入一个小于10的数:

");

intm=();

();

int[]b=newint[m];

int[]c=newint[N-m];

for(inti=0;i

b[i]=a[i];

for(inti=m,j=0;i

c[j]=a[i];

for(inti=0;i

a[i]=c[i];

for(inti=N-m,j=0;i

a[i]=b[j];

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

"");

}

}

【程序37】

题目:

有n个人围成一圈,顺序排号。

从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

importclassProg37{

publicstaticvoidmain(String[]args){

"请输入一个整数:

");

Scannerscan=newScanner;

intn=();

();

seDelimiter("\\n");

StringstrIn=();

();

char[]ch=();

"共"++"个字符");

}

}

【程序39】

题目:

编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)

importclassProg39{

publicstaticvoidmain(String[]args){

"请输入一个整数:

");

Scannerscan=newScanner;

intn=();

();

if(n%2==0)

"结果:

"+even(n));

else

"结果:

"+odd(n));

}

CountyDingYuanProvinceAnHui.

;

publicclassProg50{

"+"Name"+"grade1"+"grade2"+"grade3"+"average");

();

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

(number[i]);

(""+name[i]);

for(intj=0;j<3;j++)

(""+grade[i][j]);

(""+(sum[i]/5));

();

}

();

}

}

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

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

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

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