【程序1】???题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少????//这是一个菲波拉契数列问题publicclasslianxi01{publicstaticvoidmain(String[]args){System.out.println("第1个月的兔子对数:???1");System.out.println("第2个月的兔子对数:???1");intf1=1,f2=1,f,M=24;????for(inti=3;i<=M;i++){?????f=f2;?????f2=f1+f2;?????f1=f;?????System.out.println("第"+i+"个月的兔子对数:"+f2);????????}}}【程序2】???题目:判断101-200之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。???publicclasslianxi02{publicstaticvoidmain(String[]args){???intcount=0;???for(inti=101;i<200;i+=2){????booleanb=false;????for(intj=2;j<=Math.sqrt(i);j++)????{???????if(i%j==0){b=false;break;}????????else??????????{b=true;}????}???????if(b==true){count++;System.out.println(i);}?????????????????????????????????}???System.out.println("素数个数是:"+count);}}
【程序3】???题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。publicclasslianxi03{publicstaticvoidmain(String[]args){????intb1,b2,b3;????for(intm=101;m<1000;m++){?????b3=m/100;?????b2=m%100/10;?????b1=m%???10;?????if((b3b3b3+b2b2b2+b1b1b1)==m){?????System.out.println(m+"是一个水仙花数");}????}}}???【程序4】???题目:将一个正整数分解质因数。例如:输入90,打印出90=2335。???程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:???(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。???(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。???(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。??importjava.util.;public????class????lianxi04{???publicstaticvoidmain(String[]args){???????Scanners=newScanner(System.in);???????System.out.print("请键入一个正整数:????");???????int???n???=s.nextInt();???????intk=2;???????System.out.print(n+"=");???????while(k<=n){?????????if(k==n){System.out.println(n);break;}???????????elseif(n%k==0){System.out.print(k+"");n=n/k;}???????????????????else???k++;??????????????????}????}???}【程序5】???题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。???importjava.util.;publicclasslianxi05{publicstaticvoidmain(String[]args){????intx;????chargrade;????Scanners=newScanner(System.in);????System.out.print("请输入一个成绩:");????x=s.nextInt();??????grade=x>=90?''A''??????????:x>=60?''B''??????????:''C'';???System.out.println("等级为:"+grade);??}}【程序6】???题目:输入两个正整数m和n,求其最大公约数和最小公倍数。???/在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。/importjava.util.;public???class????lianxi06????{publicstaticvoidmain(String[]args){int????a,b,m;Scanners=newScanner(System.in);System.out.print("键入一个整数:");a=s.nextInt();System.out.print("再键入一个整数:");b=s.nextInt();?????deffcd=newdeff();?????m=cd.deff(a,b);?????intn=ab/m;?????System.out.println("最大公约数:"+m);?????System.out.println("最小公倍数:"+n);}}classdeff{publicintdeff(intx,inty){????intt;????if(x=''0''&&ch<=''9''){??????digital++;?????}elseif((ch>=''a''&&ch<=''z'')||ch>''A''&&ch<=''Z''){??????character++;?????}elseif(ch==''''){??????blank++;?????}else{??????other++;?????}?????}????System.out.println("数字个数:"+digital);????System.out.println("英文字母个数:"+character);????System.out.println("空格个数:"+blank);????System.out.println("其他字符个数:"+other);
}
}
【程序8】???题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。???importjava.util.;publicclasslianxi08{publicstaticvoidmain(String[]args){????longa,b=0,sum=0;????Scanners=newScanner(System.in);????System.out.print("输入数字a的值:");????a=s.nextInt();????System.out.print("输入相加的项数:");????intn=s.nextInt();????inti=0;????while(i 【程序10】???题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在????第10次落地时,共经过多少米?第10次反弹多高?publicclasslianxi10{publicstaticvoidmain(String[]args){?????doubleh=100,s=100;?????for(inti=1;i<10;i++){?????s=s+h;?????h=h/2;????}????System.out.println("经过路程:"+s);????System.out.println("反弹高度:"+h/2);}}【程序11】???题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少????publicclasslianxi11{publicstaticvoidmain(String[]args){????intcount=0;????for(intx=1;x<5;x++){?????for(inty=1;y<5;y++){??????for(intz=1;z<5;z++){???????if(x!=y&&y!=z&&x!=z){????????count++;????????System.out.println(x100+y10+z);???????}??????}?????}????}????System.out.println("共有"+count+"个三位数");}}【程序12】???题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润,求应发放奖金总数????importjava.util.;publicclasslianxi12{publicstaticvoidmain(String[]args){????doublex=0,y=0;????System.out.print("输入当月利润(万):");????Scanners=newScanner(System.in);????x=s.nextInt();????if(x>0&&x<=10){????y=x0.1;????}elseif(x>10&&x<=20){?????y=100.1+(x-10)0.075;????}elseif(x>20&&x<=40){?????y=100.1+100.075+(x-20)0.05;????}elseif(x>40&&x<=60){?????y=100.1+100.075+200.05+(x-40)0.03;????}elseif(x>60&&x<=100){?????y=200.175+200.05+200.03+(x-60)0.015;????}elseif(x>100){?????y=200.175+400.08+400.015+(x-100)0.01;????}????System.out.println("应该提取的奖金是"+y+"万");}}
【程序13】???题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少????publicclasslianxi13{publicstaticvoidmain(String[]args){????for(intx=1;x<100000;x++){?????if(Math.sqrt(x+100)%1==0){??????if(Math.sqrt(x+268)%1==0){???????System.out.println(x+"加100是一个完全平方数,再加168又是一个完全平方数");??????}?????}????}}}/按题意循环应该从-100开始(整数包括正整数、负整数、零),这样会多一个满足条件的数-99。但是我看到大部分人解这道题目时都把题中的“整数”理解成正整数,我也就随大流了。/【程序14】??题目:输入某年某月某日,判断这一天是这一年的第几天????importjava.util.;publicclasslianxi14{publicstaticvoidmain(String[]args){????intyear,month,day;????intdays=0;????intd=0;????inte;????inputfymd=newinput();????do{????e=0;????System.out.print("输入年:");????year=fymd.input();????System.out.print("输入月:");????month=fymd.input();????System.out.print("输入天:");????day=fymd.input();????if(year<0||month<0||month>12||day<0||day>31){????System.out.println("输入错误,请重新输入!");????e=1;????}????}while(e==1);?????for(inti=1;i 【程序15】???题目:输入三个整数x,y,z,请把这三个数由小到大输出。???importjava.util.;publicclasslianxi15{publicstaticvoidmain(String[]args){????inputfnc=newinput();????intx=0,y=0,z=0;????System.out.print("输入第一个数字:");?????x=fnc.input();????System.out.print("输入第二个数字:");?????y=fnc.input();????System.out.print("输入第三个数字:");?????z=fnc.input();??????if(x>y){?????intt=x;?????x=y;?????y=t;????}???if(x>z){?????intt=x;?????x=z;?????z=t;????}???if(y>z){?????intt=y;?????y=z;?????z=t;????}???System.out.println("三个数字由小到大排列为:"+x+""+y+""+z);}}classinput{publicintinput(){????intvalue=0;????Scanners=newScanner(System.in);????value=s.nextInt();????returnvalue;}}【程序16】题目:输出99口诀。?????publicclasslianxi16{publicstaticvoidmain(String[]args){????for(inti=1;i<10;i++){?????for(intj=1;j<=i;j++){??????System.out.print(j+""+i+"="+ji+"???");????????if(ji<10){System.out.print("");}}?????????System.out.println();????}}}【程序17】???题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个????第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下????的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。???publicclasslianxi17{publicstaticvoidmain(String[]args){????intx=1;????for(inti=2;i<=10;i++){?????x=(x+1)2;????}????System.out.println("猴子第一天摘了"+x+"个桃子");}}【程序18】???题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。???publicclasslianxi18{staticchar[]m={''a'',''b'',''c''};staticchar[]n={''x'',''y'',''z''};
publicstaticvoidmain(String[]args){
??for(inti=0;i ????if(m[i]==''a''&&n[j]==''x''){
?????continue;
}elseif(m[i]==''a''&&n[j]==''y''){
?????continue;
????}elseif((m[i]==''c''&&n[j]==''x'')
??????||(m[i]==''c''&&n[j]==''z'')){
?????continue;
????}elseif((m[i]==''b''&&n[j]==''z'')
??????||(m[i]==''b''&&n[j]==''y'')){
?????continue;
????}else
?????System.out.println(m[i]+"vs"+n[j]);
???}
??}
}
}
【程序19】???题目:打印出如下图案(菱形)???????????????????????????????????publicclasslianxi19{publicstaticvoidmain(String[]args){???intH=7,W=7;//高和宽必须是相等的奇数???for(inti=0;i<(H+1)/2;i++){????for(intj=0;j ????}????for(intk=1;k<(i+1)2;k++){?????System.out.print('''');????}????System.out.println();???}???for(inti=1;i<=H/2;i++){????for(intj=1;j<=i;j++){?????System.out.print("");????}????for(intk=1;k<=W-2i;k++){?????System.out.print('''');????}????System.out.println();???}}}
【程序20】???题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。?publicclasslianxi20{publicstaticvoidmain(String[]args){???intx=2,y=1,t;???doublesum=0;???for(inti=1;i<=20;i++){????sum=sum+(double)x/y;????t=y;????y=x;????x=y+t;????}System.out.println("前20项相加之和是:"+sum);}}
【程序21】???题目:求1+2!+3!+...+20!的和???publicclasslianxi21{publicstaticvoidmain(String[]args){???longsum=0;???longfac=1;???for(inti=1;i<=20;i++){????fac=faci;????sum+=fac;???}???System.out.println(sum);}【程序22】???题目:利用递归方法求5!。???publicclasslianxi22{publicstaticvoidmain(String[]args){??????intn=5;???recfr=newrec();???System.out.println(n+"!="+fr.rec(n));}}classrec{publiclongrec(intn){???longvalue=0;???if(n==1){????value=1;???}else??{????value=nrec(n-1);???}???returnvalue;}}
【程序23】???题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大????publicclasslianxi23{publicstaticvoidmain(String[]args){???intage=10;????for(inti=2;i<=5;i++){????age=age+2;???}???System.out.println(age);}}
【程序24】???题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。???//使用了长整型最多输入18位importjava.util.;publicclasslianxi24{publicstaticvoidmain(String[]args){??Scanners=newScanner(System.in);??System.out.print("请输入一个正整数:");??longa=s.nextLong();??Stringss=Long.toString(a);???char[]ch=ss.toCharArray();???intj=ch.length;???System.out.println(a+"是一个"+j+"位数。");???System.out.print("按逆序输出是:");???for(inti=j-1;i>=0;i--){???System.out.print(ch[i]);??}??}??}【程序25】???题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。???importjava.util.;publicclasslianxi25{publicstaticvoidmain(String[]args){???Scanners=newScanner(System.in);???inta;???do{????System.out.print("请输入一个5位正整数:");?????a=s.nextInt();?????}while(a<10000||a>99999);????Stringss=String.valueOf(a);????char[]ch=ss.toCharArray();????if(ch[0]==ch[4]&&ch[1]==ch[3]){????System.out.println("这是一个回文数");}????else{System.out.println("这不是一个回文数");}???}???}//这个更好,不限位数importjava.util.;publicclasslianxi25a{publicstaticvoidmain(String[]args){??Scanners=newScanner(System.in);??booleanis=true;??System.out.print("请输入一个正整数:");??longa=s.nextLong();??Stringss=Long.toString(a);??char[]ch=ss.toCharArray();??intj=ch.length;??for(inti=0;i''Z''){????System.out.println("输入错误,请重新输入");????ch=getChar();???}???returnch;}}??【程序27】???题目:求100之内的素数???//使用除sqrt(n)的方法求出的素数不包括2和3publicclasslianxi27{publicstaticvoidmain(String[]args){???booleanb=false;???System.out.print(2+"");???System.out.print(3+"");???for(inti=3;i<100;i+=2){????for(intj=2;j<=Math.sqrt(i);j++){?????if(i%j==0){b=false;?????????????????????break;??????}else{b=true;}????}??if(b==true){System.out.print(i+"");}???}??}}//该程序使用除1位素数得2位方法,运行效率高通用性差。publicclasslianxi27a{publicstaticvoidmain(String[]args){???int[]a=newint[]{2,3,5,7};??for(intj=0;j<4;j++)System.out.print(a[j]+"");???booleanb=false;???for(inti=11;i<100;i+=2){????for(intj=0;j<4;j++){?????if(i%a[j]==0){b=false;?????????????????????break;??????}else{b=true;}????}??if(b==true){System.out.print(i+"");}???}??}}【程序28】???题目:对10个数进行排序???importjava.util.;publicclasslianxi28{publicstaticvoidmain(String[]args){Scanners=newScanner(System.in);??int[]a=newint[10];??System.out.println("请输入10个整数:");??for(inti=0;i<10;i++){???a[i]=s.nextInt();??}??for(inti=0;i<10;i++){???for(intj=i+1;j<10;j++){????if(a[i]>a[j]){?????intt=a[i];?????a[i]=a[j];?????a[j]=t;????}???}??}??for(inti=0;i<10;i++){???System.out.print(a[i]+"");??}}}【程序29】???题目:求一个33矩阵对角线元素之和?????importjava.util.;publicclasslianxi29{publicstaticvoidmain(String[]args){??Scanners=newScanner(System.in);??int[][]a=newint[3][3];System.out.println("请输入9个整数:");??for(inti=0;i<3;i++){???for(intj=0;j<3;j++){????a[i][j]=s.nextInt();???}??}??System.out.println("输入的33矩阵是:");??for(inti=0;i<3;i++){???for(intj=0;j<3;j++){????System.out.print(a[i][j]+"");???}???System.out.println();??}??intsum=0;??for(inti=0;i<3;i++){???for(intj=0;j<3;j++){????if(i==j){?????sum+=a[i][j];????}???}??}??System.out.println("对角线之和是:"+sum);}}【程序30】???题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。????//此程序不好,没有使用折半查找插入importjava.util.;publicclasslianxi30{publicstaticvoidmain(String[]args){??int[]a=newint[]{1,2,6,14,25,36,37,55};??int[]b=newint[a.length+1];??intt1=0,t2=0;????????????????????????????????????????????inti=0;??Scanners=newScanner(System.in);??System.out.print("请输入一个整数:");??intnum=s.nextInt();??if(num>=a[a.length-1]){???b[b.length-1]=num;???for(i=0;i=a[i]){?????b[i]=a[i];????}else{?????????b[i]=num;?????break;????}???}???for(intj=i+1;j=0;j=j-1){???System.out.print(a[j]+"??");}???}??}【程序32】???题目:取一个整数a从右端开始的4~7位。???importjava.util.;publicclasslianxi32{publicstaticvoidmain(String[]args){???Scanners=newScanner(System.in);???System.out.print("请输入一个7位以上的正整数:");???longa=s.nextLong();???Stringss=Long.toString(a);???char[]ch=ss.toCharArray();???intj=ch.length;???if(j<7){System.out.println("输入错误!");}???else{????System.out.println("截取从右端开始的4~7位是:"+ch[j-7]+ch[j-6]+ch[j-5]+ch[j-4]);????}???}???}【程序33】??题目:打印出杨辉三角形(要求打印出10行如下图)?????????????????1????????????1???1??????????1???2???1????????1???3???3???1??????1???4???6???4???1???1???5???10???10???5???1???…………publicclasslianxi33{publicstaticvoidmain(String[]args){???int[][]a=newint[10][10];??for(inti=0;i<10;i++){???a[i][i]=1;???a[i][0]=1;??}??for(inti=2;i<10;i++){???for(intj=1;jmax){????max=a[i];????idx1=i;???}???if(a[i]=m;i--){??a[i]=a[i-m];??}??for(inti=0;i1){???if(arr[index]==true){????countNum++;????if(countNum==3){?????countNum=0;?????arr[index]=false;?????leftCount--;????}???}????index++;????if(index==n){????index=0;???}??}???for(inti=0;is2.charAt(i)){????result=false;????break;???}elseif(s1.charAt(i)=100)System.out.println("809"+i+"="+"800"+i+"+"+"9"+i+"="+b);}}}【程序43】???题目:求0—7所能组成的奇数个数。???//组成1位数是4个。//组成2位数是74个。//组成3位数是784个。//组成4位数是7884个。//......publicclasslianxi43{publicstaticvoidmain(String[]args){intsum=4;intj;System.out.println("组成1位数是"+sum+"个");sum=sum7;System.out.println("组成2位数是"+sum+"个");for(j=3;j<=9;j++){sum=sum8;System.out.println("组成"+j+"位数是"+sum+"个");}}}【程序44】???题目:一个偶数总能表示为两个素数之和。???//由于用除sqrt(n)的方法求出的素数不包括2和3,//因此在判断是否是素数程序中人为添加了一个3。importjava.util.;publicclasslianxi44{publicstaticvoidmain(String[]args){Scanners=newScanner(System.in);intn,i;do{????System.out.print("请输入一个大于等于6的偶数:");????n=s.nextInt();???}while(n<6||n%2!=0);??//判断输入是否是>=6偶数,不是,重新输入funfc=newfun();???for(i=2;i<=n/2;i++){???if((fc.fun(i))==1&&(fc.fun(n-i)==1))???{intj=n-i;????System.out.println(n+"="+i+"+"+j);????}//输出所有可能的素数对??}}}classfun{publicintfun(inta)???//判断是否是素数的函数{inti,flag=0;if(a==3){flag=1;return(flag);}for(i=2;i<=Math.sqrt(a);i++){??if(a%i==0){flag=0;break;}?????elseflag=1;}return(flag);//不是素数,返回0,是素数,返回1}}//解法二importjava.util.;publicclasslianxi44{publicstaticvoidmain(String[]args){Scanners=newScanner(System.in);intn;do{????System.out.print("请输入一个大于等于6的偶数:");????n=s.nextInt();???}while(n<6||n%2!=0);??//判断输入是否是>=6偶数,不是,重新输入
???for(inti=3;i<=n/2;i+=2){???if(fun(i)&&fun(n-i)){?????System.out.println(n+"="+i+"+"+(n-i));?????}//输出所有可能的素数对??}}staticbooleanfun(inta){???//判断是否是素数的函数booleanflag=false;if(a==3){flag=true;return(flag);}for(inti=2;i<=Math.sqrt(a);i++){??if(a%i==0){flag=false;break;}?????elseflag=true;}return(flag);}}【程序45】???题目:判断一个素数能被几个9整除???//题目错了吧?能被9整除的就不是素数了!所以改成整数了。importjava.util.;publicclasslianxi45{publicstaticvoidmain(String[]args){??Scanners=newScanner(System.in);??System.out.print("请输入一个整数:");???intnum=s.nextInt();???int??tmp=num;???intcount=0;??????for(inti=0;tmp%9==0;){??????????tmp=tmp/9;???????????count++;?????????}????System.out.println(num+"能够被"+count+"个9整除。");????}}【程序46】???题目:两个字符串连接程序???importjava.util.;publicclasslianxi46{publicstaticvoidmain(String[]args){???Scanners=newScanner(System.in);???System.out.print("请输入一个字符串:");???Stringstr1=s.nextLine();???System.out.print("请再输入一个字符串:");???Stringstr2=s.nextLine();???Stringstr=str1+str2;???System.out.println("连接后的字符串是:"+str);???}???}【程序47】???题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。???importjava.util.;publicclasslianxi47{publicstaticvoidmain(String[]args){Scanners=newScanner(System.in);intn=1,num;while(n<=7){????????do{?????????System.out.print("请输入一个1--50之间的整数:");????????????num=s.nextInt();??????????}while(num<1||num>50);?????for(inti=1;i<=num;i++)?????{System.out.print("");?????}System.out.println();n++;}}}【程序48】???题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。???importjava.util.;publicclasslianxi48??{publicstaticvoidmain(Stringargs[]){Scanners=newScanner(System.in);intnum=0,temp;do{??System.out.print("请输入一个4位正整数:");?????num=s.nextInt();????}while(num<1000||num>9999);inta[]=newint[4];a[0]=num/1000;//取千位的数字a[1]=(num/100)%10;//取百位的数字a[2]=(num/10)%10;//取十位的数字a[3]=num%10;//取个位的数字for(intj=0;j<4;j++){a[j]+=5;a[j]%=10;}for(intj=0;j<=1;j++)???{???temp=a[j];???a[j]=a[3-j];???a[3-j]=temp;???}System.out.print("加密后的数字为:");for(intj=0;j<4;j++)System.out.print(a[j]);}}【程序49】???题目:计算字符串中子串出现的次数???importjava.util.;publicclasslianxi49{publicstaticvoidmain(Stringargs[]){Scanners=newScanner(System.in);???System.out.print("请输入字符串:");???Stringstr1=s.nextLine();???System.out.print("请输入子串:");???Stringstr2=s.nextLine();intcount=0;if(str1.equals("")||str2.equals(""))??{??System.out.println("你没有输入字符串或子串,无法比较!");??System.exit(0);??}else??{???for(inti=0;i<=str1.length()-str2.length();i++)????{????if(str2.equals(str1.substring(i,str2.length()+i)))?????//这种比法有问题,会把"aaa"看成有2个"aa"子串。??????count++;??????}System.out.println("子串在字符串中出现:"+count+"次");}}}【程序50】???题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,把原有的数据和计算出的平均分数存放在磁盘文件"stud"中。importjava.io.;importjava.util.;publicclasslianxi50{publicstaticvoidmain(String[]args){??Scannerss=newScanner(System.in);??String[][]a=newString[5][6];??for(inti=1;i<6;i++){???System.out.print("请输入第"+i+"个学生的学号:");???a[i-1][0]=ss.nextLine();???System.out.print("请输入第"+i+"个学生的姓名:");???a[i-1][1]=ss.nextLine();???for(intj=1;j<4;j++){??????System.out.print("请输入该学生的第"+j+"个成绩:");??????a[i-1][j+1]=ss.nextLine();??????}System.out.println("\n");??}//以下计算平均分floatavg;intsum;for(inti=0;i<5;i++){sum=0;??for(intj=2;j<5;j++){??sum=sum+Integer.parseInt(a[i][j]);?????}??avg=(float)sum/3;??a[i][5]=String.valueOf(avg);}//以下写磁盘文件Strings1;try{???Filef=newFile("C:\\stud");???if(f.exists()){?????System.out.println("文件存在");?????}else{????????System.out.println("文件不存在,正在创建文件");?????????f.createNewFile();//不存在则创建???????}BufferedWriteroutput=newBufferedWriter(newFileWriter(f));for(inti=0;i<5;i++){for(intj=0;j<6;j++){??s1=a[i][j]+"\r\n";??output.write(s1);??????}}output.close();System.out.println("数据已写入c盘文件stud中!");??}catch(Exceptione){????e.printStackTrace();????}}}
|
|