Java习题.docx
- 文档编号:24012625
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:31
- 大小:281.74KB
Java习题.docx
《Java习题.docx》由会员分享,可在线阅读,更多相关《Java习题.docx(31页珍藏版)》请在冰豆网上搜索。
Java习题
一、简单编程
1.编写程序使用方法重载分别实现了两个和三个整数的相加。
publicclassADD{
inta;
intb;
intc;
publicintAdd(inta,intb){
returna+b;
}
publicintAdd(inta,intb,intc){
returna+b+c;
}
}
publicclassprogram_1{
publicstaticvoidmain(String[]args){
ADDx=newADD();
System.out.println(x.Add(13,15));
System.out.println(x.Add(13,15,17));
}
}
结果:
2.编写程序使用冒泡法对一组数进行排序
publicclassSort{
inta[];
publicvoidpx(intb[]){
a=b;
}
publicvoidmake(){
inttemp=0;
for(inti=0;i for(intj=i+1;j if(a[j]>a[i]){ temp=a[j]; a[j]=a[i]; a[i]=temp; } } } } publicvoidprintout(){ for(inti=0;i System.out.print(a[i]+"\t"); } } } publicclassprogram_2{ publicstaticvoidmain(String[]args){ Sortx=newSort(); intb[]={1,7,5,4,8,6,2,9,0}; x.px(b); x.make(); x.printout(); } } 结果: 3.定义一个线程PrintThread,该线程打印输出1~1000之间所有3的倍数,每输出一个数休眠1500毫秒,在main方法中创建该线程的一个实例,并启动该线程。 publicclassPrintThreadextendsThread{ publicvoidrun(){ for(inti=1;i<=1000;i++){ if(i%3==0){ System.out.print(i+""); try{ Thread.sleep(3000); } catch(Exceptionc){} } if(i%60==0){ System.out.print("\n"); } } } } publicclassTimes_3{ publicstaticvoidmain(String[]args){ PrintThreadthread=newPrintThread(); thread.start(); } } 结果: 4.编写程序通过静态方法调用从包含10个学号的数组中随机抽取一个学号并输出显示。 publicclassprogram_4{ publicstaticvoidmain(String[]args) {String[]number=newString[10]; number[0]="2009001"; number[1]="2009002"; number[2]="2009003"; number[3]="2009004"; number[4]="2009005"; number[5]="2009006"; number[6]="2009007"; number[7]="2009008"; number[8]="2009009"; number[9]="2009010"; System.out.println(number[(int)(Math.random()*10)]); } } 结果: 5.编写程序判断一个数是不是素数 importjava.io.*; publicclassSushu{ publicstaticvoidmain(Stringargs[])throwsIOException { intnum; Stringstr; BufferedReaderbuf; buf=newBufferedReader(newInputStreamReader(System.in)); System.out.print("请输入一个正整数: "); str=buf.readLine();//将输入的文字指定给字符串变量str存放 num=Integer.parseInt(str);//将str转成int类型后指定给num存放 if(num<=0){ System.out.print("您所输入的为非正整数! ! "); System.exit(-1); } if(num==1){ System.out.print("1既不是素数也不是合数! ! "); System.exit(-1); } if(num==2){ System.out.print("2是素数! "); System.exit(-1); } for(inti=2;i<=num/2;i++){ if(num%i==0){ System.out.print(num+"是合数! "); System.exit(-1); } } System.out.print(num+"是素数! "); } } 结果: 6.“三天打鱼两天晒网”。 某人从2010年1月1日起三天打鱼两天晒网,编程计算2010年5月1日,他在打鱼还是在晒网。 打鱼则输出1,晒网则输出0。 publicclassprogram_6{ publicstaticvoidmain(String[]args){ inti=(31+28+31+30+1)%5; if(i==1||i==2||i==3) System.out.println (1); else System.out.println(0); } } 结果: 8.使用BufferedWriter类在D: \Hello.txt文件中写入10万个数并输出所用的时间。 编写程序判断一个数是否为同构数据 importjava.io.*; importjava.util.Scanner; publicclassprogram_8{ publicstaticvoidmain(String[]args)throwsIOException{ StringfileName="e: /hello.txt"; BufferedWriterin=newBufferedWriter(newFileWriter(fileName)); System.out.println("开始输入10万个数据"); longstarttime=System.currentTimeMillis(); for(inti=0;i<100000;i++){ in.write(i);in.newLine(); } System.out.println("数据输入结束"); longendtime=System.currentTimeMillis(); System.out.println("总共用时"+(endtime-starttime)); System.out.println("输入一个整数判断是否同构"); Scannerx=newScanner(System.in); inty=x.nextInt(); TonggouS=newTonggou(y); S.Tg(); } } classTonggou{ privateintn; publicTonggou(intm){ n=m; } publicvoidTg(){ if(n==n*n%10)System.out.println(n+"是二阶同构数"); elseSystem.out.println(n+"不是二阶同构数"); } } 结果: 9.编写程序练习将字符串转换为int、double类型,将数值类型转换为字符串类型。 练习StringBuffer类的使用方法。 importjava.util.Scanner; publicclassprogram_4{ publicstaticvoidmain(String[]args){ System.out.println("输入int数字字符串: "); Scannerinta=newScanner(System.in); System.out.println("其转换成int型为"+Integer.valueOf(inta.nextLine()).intValue()); System.out.println("输入一个double型数据字符串: "); System.out.println("其转换成double型为"+Double.valueOf(inta.nextLine()).doubleValue()); System.out.println("输入一个整数: "); Stringstringb=String.valueOf(inta.nextInt()); System.out.println("其字符串为"+stringb); } } 结果: 10.编写程序读取文本并显示在屏幕上 11.输出n的所有质数因子如n=13860则输出22335711 importjava.util.Scanner; publicclassprogram_11{ publicstaticbooleanjudge(inta){ inti; if(a==2)returntrue;else{ for(i=2;i<=a/2;i++) if(a%i==0)break; if(i>(a/2))returntrue; else returnfalse; }} publicstaticvoidmain(String[]args){ intresult,i=2; Scannerb=newScanner(System.in); System.out.println("输入一个整数"); result=b.nextInt();intx=result; System.out.println("它的质因数为"); while(result! =0&&i if(result%i==0&&judge(i)) {result=result/i; System.out.println(i); i=2;} elsei++; } } } 结果: 12.创建线程,线程休眠,线程启动 13.编程从Hello.txt中读取文本并显示在屏幕上。 importjava.io.*; publicclassprogram_13 { publicstaticvoidmain(String[]args)throwsIOException { FileInputStreams=newFileInputStream(“c: /Hello.txt”); Inte; while((c=s.read())! =-1)System.out.write(c); s.close(); } } 二、程序分析 1.写出下面程序的运行结果。 publicclassA{ privateintx=50; publicvoidsetX(intx){ this.x=x+50; } publicintgetX(){ returnx; } } publicclassTester{ publicstaticvoidmethod1(Aa){ a.setX(100); } publicstaticvoidmethod2(intx){ x=50; } publicstaticvoidmain(String[]args){ Aa=newA(); method1(a); System.out.println(a.getX()); intn=10; method2(n); System.out.println(n); } } 结果: 150 10 2.写出下面程序的运行结果。 importjava.util.*; publicclassEx2{ publicstaticvoidmain(String[]args){ VectormyList=newVector(); myList.add("C++"); myList.add("Java"); myList.add("C#"); myList.set(2,"Oracle"); myList.remove(0); myList.remove(0); System.out.println(myList.get(0)); Hashtableht=newHashtable(); ht.put("key","Java"); ht.put("key","C#"); Iteratorits=ht.values().iterator(); while(its.hasNext()){ System.out.println(its.next()); } } } 结果: Oracle C# 3.写出下面程序的运行结果。 importjava.util.*; publicclassArrayTester{ publicstaticvoidmain(String[]args){ int[]arrays1={1,3,5,7}; int[]arrays2={2,4,6,8}; int[]arrays3=newint[4]; arrays2=arrays3; for(inti=0;i arrays3[i]=arrays1[i]; } for(inti=0;i System.out.println(arrays2[i]); } } } 结果: 1 3 5 7 //(结果不是0000) 4.写出下面程序的运行结果。 classAAA {intadd(intx,inty) {returnx+y; } } classBBBextendsAAA {intadd(intx,inty) {returnx-y; } } publicclassExam8 {publicstaticvoidmain(Stringargs[]) {AAAa=newAAA(); System.out.println(a.add(66,44)); a=newBBB(); System.out.println(a.add(66,44)); } } 结果: 110 22 5.写出下面程序的运行结果。 publicclassExam9extendsTT { publicstaticvoidmain(Stringargs[]) { Exam9t=newExam9("Jack."); } publicExam9(Strings) { super(s); System.out.print("Howareyou? "); } publicExam9() { this("IamTom."); } } classTT { publicTT() { System.out.print("Hi! "); } publicTT(Strings) { this(); System.out.print("Iam"+s); } } 结果: Hi! IamJack.Howareyou? 6.写出下面程序的运行结果。 publicclassExam10 { Stringstr=newString("good"); char[]ch={'a','b','c'}; publicstaticvoidmain(Stringargs[]){ Exam10ex=newExam10(); ex.change(ex.str,ex.ch); System.out.println(ex.str+"and"); System.out.println(ex.ch); } publicvoidchange(Stringstr,charch[]){ str="testok"; ch[0]='g'; } } 结果: goodand gbc 7.指出下列程序运行的结果。 classEmployee{ staticvoidexpenseAllowance(){ System.out.println("inclassEmployee! ");} } classManagerextendsEmployee{ staticvoidexpenseAllowance(){ System.out.println("inclassManager! ");} } classex{ publicstaticvoidmain(Stringargs[]){ Managerman=newManager(); Employeeemp1=newEmployee(); Employeeemp2=(Employee)man; man.expenseAllowance(); emp1.expenseAllowance(); emp2.expenseAllowance(); } } 结果: inclassManager! inclassEmployee! inclassEmployee! 8.指出下列程序运行的结果。 classEmployee{ voiddepoit(){ System.out.println("inclassEmployee! ");} } classManagerextendsEmployee{ voiddepoit(){ System.out.println("inclassManager! ");} } classex{ publicstaticvoidmain(Stringargs[]){ Managerman=newManager(); Employeeemp1=newEmployee(); Employeeemp2=(Employee)man; man.depoit(); emp1.depoit(); emp2.depoit(); } } 结果: inclassManager! inclassEmployee! inclassManager! 9.通过命令行输入两个整数2和3,编程输出显示两个整数的积。 importjava.util.Scanner; publicclassMutil{ publicdoublemutil(doublex,doubley){ returnx*y; } publicstaticvoidmain(String[]args){ doublex; doubley; Scannerb=newScanner(System.in); Scannerc=newScanner(System.in); System.out.println("输入一个数"); x=b.nextDouble(); System.out.println("输入第二个数"); y=c.nextDouble(); MutilA=newMutil(); System.out.println(x+"*"+y+"="+A.mutil(x,y)); } } 结果: 10.子类调用父类构造方法。 classEmployee{ staticvoidexpenseAllowance(){ System.out.println("inclassEmployee! ");} } classManagerextendsEmployee{ staticvoidexpenseAllowance(){ System.out.println("inclassManager! ");} } classex{ publicstaticvoidmain(Stringargs[]){ Managerman=newManager(); Employeeemp1=newEmployee(); Employeeemp2=(Employee)man; man.expenseAllowance(); emp1.expenseAllowance(); emp2.expenseAllowance(); } } 结果: inclassManager! inclassEmployee! inclassEmployee! 11.字符串与字符数组。 publicclassP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 习题