工科 Java期末考试编程题题库.docx
- 文档编号:17504420
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:13
- 大小:27.18KB
工科 Java期末考试编程题题库.docx
《工科 Java期末考试编程题题库.docx》由会员分享,可在线阅读,更多相关《工科 Java期末考试编程题题库.docx(13页珍藏版)》请在冰点文库上搜索。
工科Java期末考试编程题题库
《JAVA程序设计》复习题之(四)编程题
(计算机科学与技术专业使用)
1、编写一个字符界面的JavaApplication程序,类名为TestApp,用来接受用户从键盘输入的10个整数,并输出10个整数的最大值和最小值。
答:
参考程序如下:
importclassTestApp{
publicstaticvoidmain(Stringargs[]){
intarr[]=newint[10];
Scannercin=newScanner;
"Input10numbers:
");
for(inti=0;i<10;i++){
try{
arr[i]=();
}catch(IOExceptione){}
}
intmax,min;
max=min=arr[0];
for(inti=1;i<10;i++){
if(arr[i]>max)max=arr[i];
if(arr[i] } "Max="+max); "Min="+min); } } 2、模拟银行定期存款功能。 创建银行定期存款账户类DepositAccount,其中包括: 账号、储户姓名、存款余额、年利率等属性,和开户、存款、查询、计算利息等方法。 要求用静态变量存储年利率,用私有实例变量存储其它属性。 提供计算年利息的方法和计算月利息(年利息/12)的方法。 另外编写一个测试程序测试该类,建立Account的对象saver(账号: 90,姓名: ZhangSan,定存5000元),设置年利率是%,存款2000元,查询余额,计算并显示年利息。 答: 参考程序如下: publicclassTestEx3{ publicstaticvoidmain(Stringargs[]){ DepositAccountsaver=newDepositAccount("90","Zhangsan",5000); ;; publicclassTestIO{ publicstaticvoidmain(String[]args){ Strings1,s2; try{ BufferedReaderstdin=newBufferedReader(newInputStreamReader); "------输入第一行数据-----------"); s1=(); "------输入第二行数据-----------"); s2=(); "标准输出: "+s1); "标准输出: "+s2); PrintWriterfout=newPrintWriter(newFileWriter("d: \\")); (s1+"\t"); (s2); (); BufferedReaderfin=newBufferedReader(newFileReader("d: \\")); "文件内容: "+()); (); }catch(Exceptione){} } } 5、将从键盘输入的学生信息(学号、姓名、年龄、成绩)保存到磁盘文件中,并从文件读取这些信息在控制台输出。 答: 参考程序如下: import.*; import.*; publicclassTestEx6StudInfo2{ publicstaticvoidmain(String[]args){ longnum;ntValue() "----基本数据类型: 控制台输出------"); "学号: "+num+"\t"+"姓名: "+name+"\t"); "年龄: "+age+"\t"+"成绩: "+score); "----基本数据类型: 输出到文件------"); DataOutputStreamout=newDataOutputStream( newFileOutputStream("D: \\")); (num); (name); (age); (score); ();(); "----基本数据类型: 从文件读入显示-----"); DataInputStreamin=newDataInputStream( newFileInputStream("D: \\")); "学号: "+()+"\t"+"姓名: "+()); "年龄: "+()+"\t"+"成绩: "+()); (); }catch(Exceptione){} } } 6、编写一个Java应用程序,用来求解一元二次方程ax2+bx+c=0的解,三个系数应从键盘输入,要同时考虑实根和复根的情况。 答: 参考程序如下: importRoot{ publicstaticvoidmain(String[]args){ doublea,b,c,xl,x2,sb,xb,delta; try{ Scannersc=newScanner; "Input: abc"); a=(); b=(); c=(); }catch(IOExceptione){ (); } delta=b*b-4*a*c; if(delta>=0){ xl=(-b+(delta))/(2*a); x2=(delta))/(2*a); "x1="+x1); "x2="+x2); }else{ sb=-b/(2*a); xb=(delta)/(2*a); "x1="+sb+"+"+xb+"i"); "x2="+sb+"-"+xb+"i"); } } } 7、编写一个完整的JavaApplication程序使用复数类Complex验证两个复数1+2i和3+4i相加产生一个新的复数4+6i。 复数类Complex必须满足如下要求: (1) 复数类Complex的属性有: RealPart: int型,代表复数的实数部分 ImaginaryPart: int型,代表复数的虚数部分 (2)复数类Complex的方法有: Complex(): 构造函数,将复数的实部和虚部都置0 Complex(intr,inti): 构造函数,形参r为实部的初值,i为虚部的初值。 ComplexcomplexAdd(Complexa): 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。 StringtoString(): 把当前复数对象的实部、虚部组合成a+bi的字符串形式,其中a和b分别为实部和虚部的数据。 答: 参考程序如下: publicclassTest{ publicstaticvoidmain(Stringargs[]){ Complexa,b,c; a=newComplex(1,2); b=newComplex(3,4); c=newComplex(); c=(b); "第一个复数: "+()); "第二个复数: "+()); "两复数之和: "+()); } } classComplex{ intRealPart; ; import.*; publicclassJiechengextendsJFrame{ JTextFieldinput,result; JButtonjisuan,reset; publicJiecheng(Stringtitle){ setTitle(title); setLayout(newFlowLayout());; import.*; publicclassMyAppletextendsAppletimplementsActionListener,TextListener{ TextFieldtf; TextAreata; publicvoidinit(){ tf=newTextField(45); ta=newTextArea(5,45); add(tf); add(ta); (this); (this); } publicvoidtextValueChanged(TextEvente){ if(()==tf) (((TextField)()).getText()); } publicvoidactionPerformed(ActionEvente){ if(()==tf) (""); } } 10、编写图形界面下的JavaApplet程序,接受用户输入的两个数据为上、下限,然后10个一行输出上、下限之间的所有素数。 答: 参考程序如下: ; import.*; import publicclassSushuextendsAppletimplementsActionListener { Labellb1,lb2,result; TextFieldin1,in2; TextAreaout1; Buttonbtn1,btn2; inta=0,b=0; Strings=""; publicvoidinit(){ result=newLabel("输出框"); lb1=newLabel("上限"); lb2=newLabel("下限"); in1=newTextField(5); in2=newTextField(5); out1=newTextArea(); (false);LoopLoopntValue(); for(inti=1;i<();i++) if(max<((Integer)(i))).intValue()) max=((Integer)(i))).intValue(); returnmax; } intgetMin(){ min=((Integer)(0))).intValue(); for(inti=1;i<();i++) if(min>((Integer)(i))).intValue()) min=((Integer)(i))).intValue(); returnmin; } } publicclassTest{ publicstaticvoidmain(Stringargs[]){ Vectorv=newVector(); for(inti=1;i<=5;i++){ (newInteger(i)); } VectorSortvs=newVectorSort(v); +()); +()); } } 13、构造一个类Point来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标属性,以及一些对点进行的操作,包括获取点的坐标值,对点的坐标进行赋值,求两点之间的距离distance()方法(注意,该方法必须是静态的)。 答: 参考程序如下: classPoint{ privateintx,y;; import.*; publicclassColorStringextendsApplet{ publicvoidpaint(Graphicsg){ intx,y,z; x=(int)()*255)+1; y=(int)()*255)+1; z=(int)()*255)+1; (newColor(x,y,z)); ("这是彩色的世界",20,30); } } 16、编写一个Frame框架应用程序,要求如下: (1)在窗口设置两个菜单“文件”、“编辑” (2)在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭” (3)在“编辑”菜单里添加两个菜单项“复制”、“粘贴” (4)点击关闭菜单项时,使程序关闭。 答: 参考程序如下: import.*; import.*;// /* *主窗体 */ publicclassMyFrameextendsJFrame{ privatestaticfinallongserialVersionUID=294L; privateJFramefrmMain;//窗体 JMenuBarmb;//菜单栏 JMenumnuFile;//"文件"菜单 JMenumnuEdit;//"编辑"菜单 JMenuItemmiOpen;//"打开"菜单项 JMenuItemmiSave;//"保存"菜单项 JMenuItemmiClose;//"关闭"菜单项 JMenuItemmiCopy;//"复制"菜单项 JMenuItemmiPaste;//"粘贴"菜单项 publicMyFrame(){ frmMain=newJFrame("主窗体"); //创建菜单栏 mb=newJMenuBar(); //创建菜单 mnuFile=newJMenu("文件"); mnuEdit=newJMenu("编辑"); //创建菜单项 miOpen=newJMenuItem("打开"); miSave=newJMenuItem("保存"); miClose=newJMenuItem("关闭"); miCopy=newJMenuItem("复制"); miPaste=newJMenuItem("粘贴"); } publicvoidshowFrame(){ (100,100,600,500); ; (null); (true); ; (mb); //将菜单放入菜单栏中 (mnuFile); (mnuEdit); //将菜单项放入菜单中 (miOpen); (miSave); (miClose); (miCopy); (miPaste); //注册动作事件监听器 ("miClose_Clicked"); (newMenuHandler()); } //定义一个内部类,在这个类中编写动作事件处理程序。 privateclassMenuHandlerimplementsActionListener{ publicvoidactionPerformed(ActionEvente){ if()=="miClose_Clicked"){ (0);//退出应用程序 } } } } publicclassTestMyFrame{ publicstaticvoidmain(String[]args){ //启动主窗体 MyFrameguiWindow=newMyFrame(); (); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工科 Java期末考试编程题题库 Java 期末考试 编程 题库