java编程题全集题及答案.docx
- 文档编号:26519295
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:21
- 大小:23.70KB
java编程题全集题及答案.docx
《java编程题全集题及答案.docx》由会员分享,可在线阅读,更多相关《java编程题全集题及答案.docx(21页珍藏版)》请在冰豆网上搜索。
java编程题全集题及答案
Java程序设计总复习题
1、编写一个Java程序,用if-else语句判断某年份是否为闰年。
(分支)
//ProgrammeNameLeapYear.java
publicclassLeapYear{
publicstaticvoidmain(Stringargs[]){
intyear=2010;
if(args.length!
=0)
year=Integer.parseInt(args[0]);
if((year%4==0&&year%100!
=0)||(year%400==0))
年是闰年。
");
else
年不是闰年。
");
}
}//if-else语句
2、编写一个Java程序在屏幕上输出1!
+2!
+3!
+……+10!
的和。
(循环)
//programmenameForTest.java
publicclassForTest{
publicstaticvoidmain(Stringargs[]){
inti,j,mul,sum=0;
for(i=1;i<=10;i++){
mul=1;
for(j=1,j<=i;j++){
mul=mul*j;
}
sum=sum+mul;
}
“1!
+2!
+3!
+……+10!
=”+sum);
}
}
3、依次输入10个学生成绩,判断学生(优秀、良好、中等、及格、不及格)并计算人数(switch)
4、使用冒泡排序(数组)
publicclassBubbleSort{
publicstaticvoidmain(String[]args){
int[]array={63,4,24,1,3,5};
BubbleSortsorter=newBubbleSort();
sorter.sort(array);
}
//冒泡排序
publicvoidsort(int[]array){
for(inti=1;i for(intj=0;j if(array[j]>array[j+1]){ inttemp=array[j]; array[j]=array[j+1]; array[j+1]=temp; } } showArray(array); } //遍历数组,并输出数组的元素。 publicvoidshowArray(int[]array){ for(inti=0;i System.out.print(array[i]+"\t"); } System.out.println(); } } 5、实现会员注册,要求用户名长度不小于3,密码长度不小于6,注册时两次输入密码必须相同(字符串) import publicclassRegister{ Stringname; Stringpassword; StringnewPassword; /////////// publicvoidnameExe(){ Scannerinput=newScanner(System.in); System.out.println("请输入用户名,密码和验证密码"); System.out.print("用户名: "); name=input.next(); System.out.print("密码: "); password=input.next(); System.out.print("验证密码: "); newPassword=input.next(); while(name.length()<3||(password.equals(newPassword)==false) ||(password.length()<6)){ if(name.length()<3){ System.out.println("用户名不能小于3"); } if((password.equals(newPassword)==false)||password.length()<6){ System.out.println("两次输入密码不一样或密码不能小于6位"); } System.out.println("\n"+"请重新输入"); System.out.print("用户名: "); name=input.next(); System.out.print("密码: "); password=input.next(); System.out.print("验证密码: "); newPassword=input.next(); } System.out.println("注册成功! "); } } publicclassVerify{ publicstaticvoidmain(String[]args){ Registerm1=newRegister(); m1.nameExe(); } } 6、一个景区根据游人的年龄收取不同价格的门票。 请编写游人类,根据年龄段决定能够购买的门票价格并输出,然后写出测试类测试该类(类的基本实现) publicclassTourist{ intage; intticketPrice; publicvoidsetAge(intage){ this.age=age; } publicvoidticket(){ if(age>0&&age<12) ticketPrice=20; elseif(age<20) ticketPrice=40; elseif(age<50) ticketPrice=80; else ticketPrice=35; System.out.println("门票价格: "+ticketPrice); } }///// import publicclassTest{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); Touristt1=newTourist(); System.out.print("请输入年龄: "); t1.setAge(input.nextInt()); t1.ticket(); } } 7、 (1)编写一个圆类Circle,该类拥有: ①一个成员变量 Radius(私有,浮点型);//存放圆的半径; ②两个构造方法 Circle()//将半径设为0 Circle(doubler)//创建Circle对象时将半径初始化为r ③三个成员方法 doublegetArea()//获取圆的面积 doublegetPerimeter()//获取圆的周长 voidshow()//将圆的半径、周长、面积输出到屏幕 (2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。 还拥有: ①一个成员变量 doublehight(私有,浮点型);//圆柱体的高; ②构造方法 Cylinder(doubler,doubleh)//创建Circle对象时将半径初始化为r ③成员方法 doublegetVolume()//获取圆柱体的体积 voidshowVolume()//将圆柱体的体积输出到屏幕 编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。 //ProgrammeNameTestCylinder.java classCircle{//定义父类--园类 privatedoubleradius;//成员变量--园半径 Circle(){//构造方法 radius=0.0; } Circle(doubler){//构造方法 radius=r; } doublegetPerimeter(){//成员方法--求园周长 return2*Math.PI*radius; } doublegetArea(){//成员方法--求园面积 returnMath.PI*radius*radius; } voiddisp(){//成员方法--显示园半径、周长、面积 } } classCylinderextendsCircle{//定义子类--圆柱类 privatedoublehight;//成员变量--园柱高 Cylinder(doubler,doubleh){//构造方法 super(r); hight=h; } publicdoublegetVol(){//成员方法--求园柱体积 returngetArea()*hight; } publicvoiddispVol(){//成员方法--显示园柱体积 } } publicclassTestCylinder{//定义主类 publicstaticvoidmain(String[]args){//主程入口 CircleCi=newCircle(10.0);//生成园类实例 Ci.disp();//调用园类的方法 CylinderCyl=newCylinder(5.0,10.0);//生成圆柱类实例 Cyl.disp();//调用父类方法 Cyl.dispVol();//调用子类方法 } } 8、编写一个Java应用程序,从键盘读取用户输入两个字符串,并重载3个函数分别实现这两个字符串的拼接、整数相加和浮点数相加。 要进行异常处理,对输入的不符合要求的字符串提示给用户,不能使程序崩溃。 (异常处理) //programmenameStrinput.java importjava.io.*; publicclassStrinput { publicstaticvoidmain(Stringargs[]){ Strings1=null,s2=null,ss,si,sf; inti1,i2; floatf1,f2; BufferedReaderstrin=newBufferedReader(newInputStreamReader(System.in)); try{ s1=strin.readLine(); s2=strin.readLine();} c i1=Integer.parseInt(s1); i2=Integer.parseInt(s2); f1=Float.parseFloat(s1); f2=Float.parseFloat(s2); ss=strAdd(s1,s2); si=strAdd(i1,i2); sf=strAdd(f1,f2); } staticStringstrAdd(Stringstr1,Stringstr2){ returnstr1+str2; } staticStringstrAdd(intint1,intint2){ returnString.valueOf(int1+int2); } staticStringstrAdd(floatflt1,floatflt2){ returnString.valueOf(flt1+flt2); } } 9、应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上。 (被读取的文件路径为: E: /myjava/Hello.java) //ProgrammeNameFISDemo.java importjava.io.*; publicclassFISDemo{ publicstaticvoidmain(Stringargs[]){ byte[]buf=newbyte[2056]; try{ FileInputStreamfileIn=newFileInputStream("e: /myjava/Hello.java"); intbytes=fileIn.read(buf,0,2056); Stringstr=newString(buf,0,bytes); }catch(Exceptione){ e.printStackTrace(); } } 10、编写一个Java程序将当100,101,102,103,104,105个数以数组的形式写入到Dest.txt文件中,并以相反的顺序读出显示在屏幕上。 (文件) importjava.io.*; publicclassIODemo{ publicstaticvoidmain(Stringargs[]){ intdata[]={100,101,102,103,104,105}; int[]t=newint[200]; try{ //Filefile=newFile("dest.txt"); DataOutputStreamout=newDataOutputStream(newFileOutputStream("dest.txt")); for(inti=0;i out.writeInt(data[i]);写入 out.close(); DataInputStreamin=newDataInputStream(newFileInputStream("dest.txt")); //先读出来再倒序输出 for(inti=0;i t[i]=in.readInt(); } for(inti=data.length-1;i>=0;i--){ System.out.print(""+t[i]); } /*for(inti=data.length-1;i>=0;i--){ t=in.readInt(data[i]); }*/ System.out.println(); in.close(); }catch(IOExceptione) { System.out.println(e.getMessage());} } } 11、编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次。 //programmenameTestThread; //声明一个子线程类Threaddemo; classThreadDemoextendsThread{ publicThreadDemo(Stringstr){ super(str); } publicvoidrun(){ for(inti=0;i<20;i++){ “”+this.getName()); Try{ Sleep(300); }catch(InterruptedExceptione){ Return; } } “/end”); } } publicclassTestThread{ publicstaticvoidmain(Stringargs[]){ ThreadDemothread1=newThreadDemo(“T1”); ThreadDemothread2=newThreadDemo(“T2”); ThreadDemothread3=newThreadDemo(“T3”); thread1.start(); thread2.start(); thread3.start(); } } 10.编写程序,在屏幕上显示带标题的窗口,并添加一个按钮。 当用户单击按钮时,结束程序。 (窗体编程) //ProgrammeNameButtonEventDemo.java importjavax.swing.*; publicclassButtonEventDemoextendsJPanelimplementsActionListener{ protectedJButtonb1;//声明一个按钮对象 publicButtonEventDemo(){//构造方法 ImageIconButtonIcon=newImageIcon("images/green.png");//创建按钮的图标对象 b1=newJButton("退出按钮",ButtonIcon);//生成按钮对象 b1.setMnemonic(KeyEvent.VK_E);//设置b1的助记符是Alt+E b1.setToolTipText("这是退出按钮。 ");//设置按钮提示条 this.add(b1);//往面板对象中加载按钮 b1.addActionListener(this);//本类对象注册为按钮的事件监听器 } publicvoidactionPerformed(ActionEvente){//按钮事件响应方法 System.exit(0);//按b1则退出主程序 } privatestaticvoidcreateGUI(){//创建窗体 JFrame.setDefaultLookAndFeelDecorated(true);//设置java隐含观感 JFrameframe=newJFrame("按钮测试");//生成应用程序主窗体 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭时隐含操作 ButtonEventDemoCPane=newButtonEventDemo();//生成主类对象--面板 CPane.setOpaque(true);//面板要求不透明 frame.setContentPane(CPane);//设置主类对象为主窗体的内容面板 frame.pack();//主窗体紧缩显示 frame.setVisible(true);//设置主窗体可见 } publicstaticvoidmain(String[]args){//将createGUI()列入线程 publicvoidrun(){ createGUI(); } }); } } 12、定义一个表示学生信息的类Student,要求如下: (有关类的编程) (1)类Student的成员变量: sNO 表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava: 表示Java课程成绩。 (2)类Student带参数的构造方法: 在构造方法中通过形参完成对成员变量的赋值操作。 (3)类Student的方法成员: getNo(): 获得学号; getName(): 获得姓名; getSex(): 获得性别; getAge()获得年龄; getJava(): 获得Java课程成绩 (4)根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。 //PragrammenameStudent; publicclassStudent{ StringsNO,sName,sSex; intsAge,sJava; publicStudent(StringXH,StringXM,StringXB,intNL,intXF){ super(); sNO=XH; sName=XM; sSex=XB; sAge=NL; sJava=XF; } publicStringgetNO(){ returnsNO; } publicStringgetName(){ returnsName; } publicStringgetSex(){ returnsSex; } publicintgetAge(){ returnsAge; } publicintgetJava(){ returnsJava; } publicstaticvoidmain(String[]args){ Student[]st=newStudent[5]; st[0]=newStudent("09zc01","张三","男",19,94); st[1]=newStudent("09zc02","李四","男",20,85); st[2]=newStudent("09zc03","王五","女",18,96); st[3]=newStudent("09zc04","赵六","男",17,90); st[4]=newStudent("09zc05","杨七","女",21,88); intmax=0,min=100,sum=0; System.out.println("学生信息: "); for(inti=0;i if(st[i].sJava min=st[i].sJava; if(st[i].sJava>max) max=st[i].sJava; sum=sum+st[i].sJava; System.out.println("学生编号: "+st[i].getNO()+",姓名: "+st[i].getName()+",性别: "+st[i].getSex()+",年龄: "+st[i].getAge()+",Java课学分: "+st[i].getJava()); } System.out.println(); System.out.println("共有学生: "+st.length+",平均成绩: "+sum/st.length); System.out.print
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 编程 全集 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)