您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 最新JAVA编程题全集_50题及答案
写一个函数,例如:给你的abc则输出abcacbbacbcacabcbaimportjava.util.ArrayList;importjava.util.List;publicclassNumTest{publicstaticvoidmain(String[]args){Strings=ABCD;//原字符串ListStringresult=list(s,);//列出字符的组合,放入resultSystem.out.println(result.size());;System.out.println(result);}/***列出基础字符串(base)的所有组合*@parambase以该字符串作为基础字符串,进行选择性组合。*@parambuff所求字符串的临时结果*@paramresult存放所求结果*/publicstaticListStringlist(Stringbase,Stringbuff){ListStringresult=newArrayListString();//存放结果信息。if(base.length()=0){result.add(buff);}for(inti=0;ibase.length();i++){ListStringtemp=list(newStringBuilder(base).deleteCharAt(i).toString(),buff+base.charAt(i));result.addAll(temp);}returnresult;}}+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++publicstaticvoidmain(String[]args){Strings=ABCD;//原字符串ListStringresult=newArrayListString();//存放结果信息。list(s,,result);//列出字符的组合,放入resultSystem.out.println(result.size());;System.out.println(result);}/***列出基础字符串(base)的所有组合*@parambase以该字符串作为基础字符串,进行选择性组合。*@parambuff所求字符串的临时结果*@paramresult存放所求结果*/publicstaticvoidlist(Stringbase,Stringbuff,ListStringresult){if(base.length()=0){result.add(buff);}for(inti=0;ibase.length();i++){list(newStringBuilder(base).deleteCharAt(i).toString(),buff+base.charAt(i),result);}}+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++写一个函数,给你一个字符串倒序输出来publicStringgetString(Stringstr){if(str!=null){StringnewStr=;for(inti=0;istr.length();i++){charc=str.charAt(str.length()-1-i);newStr=newStr+c;}returnnewStr;}else{returnnull;}}不使用中间变量把两个变量的值互换inta=10;intb=100;a=a*b;b=a/b;a=a/b;System.out.print(a=+a+b=+b);折半查找publicclassTest{publicstaticint[]data={12,15,20,10,19,3,89,32,39,47,55};//原始数据publicstaticintcounter=1;//计数器publicstaticintlen=data.length;publicstaticvoidmain(Stringargs[]){//要查找的数intkeyValue=89;Testt=newTest();booleanb=t.BinarySearch(keyValue);if(b){//输出查找次数System.out.println(SearchTime=+counter);}else{//输出没有找到数据System.out.println(NoFound!!);}}//---------------------------------------------------//折半查找法publicstaticbooleanBinarySearch(intkeyValue){intleft;//左边界变量intright;//右边界变量intmiddle;//中位数变量System.out.println(数据长度:+len);left=0;right=len-1;while(left=right){//由于源数据不是顺序的,需先进行排序inttemp;for(inti=0;idata.length;++i){for(intj=0;jdata.length-i-1;++j){if(data[j]data[j+1]){temp=data[j];data[j]=data[j+1];data[j+1]=temp;}}}middle=(left+right)/2;//欲查找值较小if(keyValuedata[middle]){right=middle-1;//查找前半段}//欲查找值较大elseif(keyValuedata[middle]){left=middle+1;//查找后半段}//查找到数据elseif(keyValue==data[middle]){System.out.println(data[+middle+]=+data[middle]);returntrue;}counter++;}returnfalse;}}1.将thisisatest转化为ThisIsATestStringstr=thisisaman;charc[]=newchar[str.length()];str.getChars(0,str.length(),c,0);if(c[0]='a'&&c[0]='z'){c[0]=(char)(c[0]-32);}for(inti=1;i=c.length-1;i++){if(c[i]==''){c[i+1]=(char)(c[i+1]-32);}}str=newString(c);System.out.print(str);2.将Thisisatest倒着输出tsetasisihT(用StringBuffer)Stringstr=thisisaman;StringBuffersb=newStringBuffer(str.length());for(intj=str.length()-1;j=0;j--){sb.append(str.charAt(j));}System.out.print(sb);3.用递归求N!=N*(N-1)*(N-2)*...*2*1;longdigui(inti){if(i==0||i==1){return1;}else{returni*digui(i-1);}}4.写一个单例模式(遇到两次)publicclassTest{privateTest(){}privatestaticTesttest;publicstaticTestgetInstance(){if(test==null){test=newTest();}returntest;}}5.//统计字符串的个数I'mgotoswimming//I:1//':1//m:3//空格:3//g:2//...Stringstr=I'mgotoswimming;SetStringset=newHashSetString();for(inti=0;istr.length();i++){Strings=str.substring(i,i+1);set.add(s);}Iteratorit=set.iterator();while(it.hasNext()){Stringsr=(String)it.next();intk=0;for(intj=0;jstr.length();j++){if(sr.equals(str.substring(j,j+1))){k++;}}System.out.println(s+有+k+个);}6.对字母进行排序,如:s,a,g,d,b;Strings=sagdb;Listt=newArrayList();for(inti=0;is.length();i++){Stringxx=s.substring(i,i+1);t.add(xx);}java.util.Collections.sort(t);System.out.println(t);题目:古典问题:有一对兔子,从出生后第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;i200;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;m1000;m++){b3=m/100;b2=m%100/10;b1=m%10;if((b3*b3*b3+b2*b2*b2+b1*b1*b1)==m){System.out.println(m+是一个水仙花数);}}}}【程序4】题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。importjava.util.*;publicclass
本文标题:最新JAVA编程题全集_50题及答案
链接地址:https://www.777doc.com/doc-2371789 .html