您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 工科-Java期末考试编程题题库
《JAVA程序设计》复习题之(四)编程题(计算机科学与技术专业使用)1、编写一个字符界面的JavaApplication程序,类名为TestApp,用来接受用户从键盘输入的10个整数,并输出10个整数的最大值和最小值。答:参考程序如下:importjava.util.Scanner;publicclassTestApp{publicstaticvoidmain(Stringargs[]){intarr[]=newint[10];Scannercin=newScanner(System.in);System.out.println(Input10numbers:);for(inti=0;i10;i++){try{arr[i]=cin.nextInt();}catch(IOExceptione){}}intmax,min;max=min=arr[0];for(inti=1;i10;i++){if(arr[i]max)max=arr[i];if(arr[i]min)min=arr[i];}System.out.println(Max=+max);System.out.println(Min=+min);}}2、模拟银行定期存款功能。创建银行定期存款账户类DepositAccount,其中包括:账号、储户姓名、存款余额、年利率等属性,和开户、存款、查询、计算利息等方法。要求用静态变量存储年利率,用私有实例变量存储其它属性。提供计算年利息的方法和计算月利息(年利息/12)的方法。另外编写一个测试程序测试该类,建立Account的对象saver(账号:1234567890,姓名:ZhangSan,定存5000元),设置年利率是3.5%,存款2000元,查询余额,计算并显示年利息。答:参考程序如下:publicclassTestEx3{publicstaticvoidmain(Stringargs[]){DepositAccountsaver=newDepositAccount(1234567890,Zhangsan,5000);DepositAccount.setInterest(0.035);//设置年利率saver.queryBalance();//查询余额saver.deposit(2000);//存入2000元System.out.println(年利息是:+saver.calYearInterest());}}classDepositAccount{privateStringaccountNum;//账号privateStringname;//姓名privatedoublebalance;//余额,均为实例成员变量staticdoubleinterest;//年利率,类成员变量publicstaticvoidsetInterest(doubled){//设置年利率interest=d;}publicDepositAccount(Stringnum,Stringna,doubleba){//开户,构造方法accountNum=num;name=na;balance=ba;}publicdoublecalYearInterest(){//计算年利息returnbalance*interest;}publicvoiddeposit(doublecash){//存款System.out.println(您账户原有余额:+balance);System.out.println(您现在存入:+cash);balance+=cash;System.out.println(存款成功,您的余额是:+balance);}publicvoidqueryBalance(){//查询余额System.out.println(您的余额是:+balance);}}3、设计一个学生类Student,其属性有:姓名(name)、年龄(age)、学历(education),由Student类派生出本科生类Undergraduate和研究生类Graduate,本科生类增加属性:专业(specialty),研究生类增加属性:研究方向(direction)。每个类都有构造方法和用于输出属性信息的show()方法,在测试类TestExtends中测试输出。答:参考程序如下:publicclassTestExtends{publicstaticvoidmain(String[]args){Students1=newStudent(张三,18,高中);s1.show();System.out.println();Undergraduateu1=newUndergraduate(李四,22,本科,计算机科学与技术);u1.show();Graduateg1=newGraduate(王五,26,研究生,分布式计算);g1.show();}}classStudent{//学生类Stringname;//姓名intage;//年龄Stringeducation;//学历publicStudent(Stringname,intage,Stringeducation){//构造方法this.name=name;this.age=age;this.education=education;}publicvoidshow(){System.out.print(姓名:+name+年龄:+age+学历:+education);}}classUndergraduateextendsStudent{//本科生类,从学生类继承Stringspecialty;//专业,新增属性publicUndergraduate(Stringname,intage,Stringeducation,Stringspecialty){super(name,age,education);this.specialty=specialty;}@Overridepublicvoidshow(){//覆盖父类的同名show()方法super.show();System.out.println(专业:+specialty);}}classGraduateextendsStudent{//研究生类,从学生类继承Stringdirection;//研究方向,新增属性publicGraduate(Stringname,intage,Stringeducation,Stringdirection){super(name,age,education);this.direction=direction;}@Overridepublicvoidshow(){//覆盖父类的同名show()方法super.show();System.out.println(研究方向:+direction);}}4、从键盘输入两行数据,在控制台输出并同时输出到磁盘中的一个文件。答:参考程序如下:importjava.io.*;publicclassTestIO{publicstaticvoidmain(String[]args){Strings1,s2;try{BufferedReaderstdin=newBufferedReader(newInputStreamReader(System.in));System.out.println(------输入第一行数据-----------);s1=stdin.readLine();System.out.println(------输入第二行数据-----------);s2=stdin.readLine();System.out.println(标准输出:+s1);System.out.println(标准输出:+s2);PrintWriterfout=newPrintWriter(newFileWriter(d:\\abc.txt));fout.write(s1+\t);fout.write(s2);fout.close();BufferedReaderfin=newBufferedReader(newFileReader(d:\\abc.txt));System.out.println(文件abc.txt内容:+fin.readLine());fin.close();}catch(Exceptione){}}}5、将从键盘输入的学生信息(学号、姓名、年龄、成绩)保存到磁盘文件中,并从文件读取这些信息在控制台输出。答:参考程序如下:importjava.io.*;importjava.util.*;publicclassTestEx6StudInfo2{publicstaticvoidmain(String[]args){longnum;//学号Stringname;//姓名intage;//年龄floatscore;//成绩try{Scannersc=newScanner(System.in);System.out.println(请输入学号:);num=sc.nextLong();//读入学号System.out.println(请输入姓名:);name=sc.next();//读入姓名System.out.println(请输入年龄:);age=sc.nextInt();//读入年龄System.out.println(请输入成绩:);score=sc.nextFloat();//读入成绩//String.valueOf().intValue()System.out.println(----基本数据类型:控制台输出------);System.out.print(学号:+num+\t+姓名:+name+\t);System.out.println(年龄:+age+\t+成绩:+score);System.out.println(----基本数据类型:输出到文件------);DataOutputStreamout=newDataOutputStream(newFileOutputStream(D:\\c.text));out.writeLong(num);out.writeUTF(name);out.writeInt(age);out.writeFloat(score);out.flush();out.close();System.out.println(----基本数据类型:从文件读入显示-----);DataInputStreamin=newDataInputStream(newFileInputStream(D:\\c.text));System.out.print(学号:+in.readLong()+\t+姓名:+in.readUTF());System.out.println(年龄:+in.readInt()+\t+成绩:+in.readFloat());in.close();}catch(Exceptione){}}}6、编写一个Java应用程序,用来求解一元二次方程ax2+bx+c=0的解,三个系数应从键盘输入,要同时考虑实根和复根的情况。答:参考程序如下:importjava.util.Scanner;classRoot{publicstaticvoidmain(String[]args){doublea,b,c,xl,x2,sb,xb,delta;try{Scannersc=newScanner(System.in);System.out.println(Input:abc);a=sc.nextDouble();b=sc.nextDouble();c=sc.nextDouble();}catch(IOExceptione){e.printStackTrace();}delta=b*b-4*a*c;if(delta=0){xl=(-b+Math.sqrt(delta))/(2*a);x2=(-b-Math.sqrt(delta))/(2*a);System.out.pri
本文标题:工科-Java期末考试编程题题库
链接地址:https://www.777doc.com/doc-6137431 .html