工科_Java期末考试编程题题库.doc_第1页
工科_Java期末考试编程题题库.doc_第2页
工科_Java期末考试编程题题库.doc_第3页
工科_Java期末考试编程题题库.doc_第4页
工科_Java期末考试编程题题库.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA程序设计复习题之(四)编程题(计算机科学与技术专业使用)1、编写一个字符界面的Java Application程序,类名为TestApp,用来接受用户从键盘输入的10个整数,并输出10个整数的最大值和最小值。答:参考程序如下:import java.util.Scanner;public class TestApp public static void main(String args) int arr = new int10; Scanner cin = new Scanner(System.in);System.out.println(Input 10 numbers:);for(int i = 0; i 10; i+) try arri = cin.nextInt( ); catch (IOException e) int max,min;max = min = arr0;for(int i = 1; i max ) max = arri;if( arri = 0) xl=(-b+Math.sqrt(delta)/(2*a); x2=(-b-Math.sqrt(delta)/(2*a); System.out.println(x1= + x1); System.out.println(x2= + x2); else sb = -b/(2*a);xb = Math.sqrt(delta)/(2*a);System.out.println(x1= +sb + + + xb +i);System.out.println(x2= +sb + - + xb +i); 7、编写一个完整的Java Application 程序使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。 复数类Complex必须满足如下要求:(1)复数类Complex 的属性有:RealPart : int型,代表复数的实数部分ImaginaryPart : int型,代表复数的虚数部分(2)复数类Complex 的方法有:Complex( ) : 构造函数,将复数的实部和虚部都置0Complex( int r , int i ) : 构造函数,形参 r 为实部的初值,i为虚部的初值。Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。String toString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。答:参考程序如下:public class Test public static void main(String args ) Complex a,b,c;a = new Complex(1,2);b = new Complex(3,4); c = new Complex( );c = plexAdd( b ); System.out.println(第一个复数: + a.toString( ) ); System.out.println(第二个复数: + b.toString( ) ); System.out.println(两复数之和: + c.toString( ) ); class Complex int RealPart ; / 复数的实部 int ImaginaryPart ; / 复数的虚部Complex( ) RealPart = 0 ; ImaginaryPart = 0 ; Complex(int r , int i ) RealPart = r ; ImaginaryPart = i ; Complex complexAdd(Complex a) Complex temp = new Complex( ); / 临时复数对象 temp.RealPart = RealPart + a.RealPart; temp.ImaginaryPart = ImaginaryPart + a.ImaginaryPart; return temp; public String toString( ) return ( RealPart + + + ImaginaryPart + i ); 8、请编写一个GUI程序,界面如下图所示,要求完成各按钮和窗口关闭的功能,单击“计算”,则计算输入数据的阶乘,单击“清除”,则清除两个文本框的内容,单击窗口关闭按钮时则退出程序。如图:答:参考程序如下:import iava.awt.*;import java.awt.event.*;import javax.swing.*;public class Jiecheng extends JFrame JTextField input,result;JButton jisuan,reset; public Jiecheng(String title) setTitle(title);setLayout(newFlowLayout();/设置流式布局管理器 Container c = getContentPane();c.add(new JLabel(输入数: );input = new JTextField(10);c.add(input);c.add(new JLabel(阶乘为:); result = new JTextField(10);c.add(result); jisuan = new JButton(计算);reset = new JButton(清除);c.add(jisuan); c.add(reset); MyListener handler = new MyListener(); /创建监听器对象jisuan.addActionListener(handler); /注册监听器reset.addActionListener(handler); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);public static long jiecheng(int n) /计算阶乘方法long s = 1; for (int i = 2; i = n; i+) s = s * i;return s;public static void main(String args) Jiecheng myapp = new jiecheng(计算阶乘);myapp.setSize(400,120);myapp.setVisible(true);private class MyListener implements ActionListener public void actionPerformed(ActionEvent e) if( e.getSource() = jisuan ) tryint n = Integer.parseInt(input.getText();result.setText(+jiecheng(n); catch (NumberFormatException el) input.setText(数字格式不正确,请重输!);result.setText(); else input.setText(); result.setText();9、请编写一个Applet程序,该程序包含一个TextField对象,和一个TextArea对象,当用户在TextField对象中输入或修改文本时候,TextArea对象的文本区域中可以得到一个同步的拷贝。答:参考程序如下:import java.applet.*;import java.awt.event.*;import java.awt.*;public class MyApplet extends Applet implements ActionListener,TextListener TextField tf; TextArea ta; public void init( ) tf=new TextField(45); ta=new TextArea(5,45); add(tf); add(ta); tf.addActionListener(this); tf.addTextListener(this); public void textValueChanged(TextEvent e) if ( e.getSource( ) = tf ) ta.setText( (TextField)e.getSource().getText() ); public void actionPerformed(ActionEvent e) if ( e.getSource( ) = tf ) ta.setText(); 10、编写图形界面下的Java Applet程序,接受用户输入的两个数据为上、下限,然后10个一行输出上、下限之间的所有素数。答:参考程序如下:/输入上限与下限,输出范围内的素数import java.applet.*;import java.awt.*;import java.awt.event.*;public class Sushu extendsAppletimplementsActionListenerLabellb1, lb2, result;TextField in1, in2;TextArea out1;Buttonbtn1, btn2;int a = 0, b = 0;String s = ;public void init( ) result = new Label(输出框);lb1 = new Label(上限);lb2 = new Label(下限);in1 = new TextField(5);in2 = new TextField(5);out1 = new TextArea();out1.setEditable(false); /设为不可编辑btn1=new Button(输出素数);btn2=new Button(关闭);add(lb1); add(in1);add(lb2); add(in2);add(btn1); add(btn2);add(result); add(out1);btn1.addActionListener(this);btn2.addActionListener(this);public void actionPerformed(ActionEvente) int k = 0; /设计数器if(e.getSource() = btn1) /响应按钮输出素数的动作out1.setText(n); /新行输出a=Integer.parseInt(in1.getText();b=Integer.parseInt(in2.getText();/判断是否素数,是则计数并加入输出子串sLoop:for(int i=b; ia; i+) for(int j=2; ji; j+) if(i % j = 0)continueLoop;k+;if(k%10 = 0) /每10个数加个回车s = s + i +, + n;else s = s + i + ,;result.setText(b+与+a+之间共有素数+k+个,输出如下:);out1.setText(s);else System.exit(0); /点击关闭退出程序11、按以下要求编写程序(1) 创建一个Rectangle类,添加width和height两个成员变量(2) 在Rectangle中添加两种方法分别计算矩形的周长和面积(3) 编程利用Rectangle输出一个矩形的周长和面积答:参考程序如下:public class Rectangle float width, height;public Rectangle(float width, float height) this.width = width;this.height = height;public float getLength()return (this.width + this.height) * 2;public float getArea()return this.width * this.height;public static void main(String args) Rectangle rect = new Rectangle(10, 20);System.out.println(周长是: + rect.getLength();System.out.println(面积是: + rect.getArea();12、假设用户输入一组整数被保存在Vector对象中,请定义一个类VectorSort,用来求Vector对象中整数中的最大和最小数据。要求:1、 根据题目给出VectorSort类应包含的属性和方法2、 用Java语言定义类VectorSort答:参考程序如下:class VectorSort int max, min; Vector x = new Vector(); VectorSort (Vector y) for(int i = 0; i y.size() ; i+) x.addElement(y.elementAt(i) ); int getMax( ) max = (Integer)(x.elementAt(0).intValue() ; for(int i = 1; i x.size(); i+) if(max (Integer)(x.elementAt(i).intValue() max = (Integer)(x.elementAt(i).intValue(); return max; int getMin( ) min = (Integer)(x.elementAt(0).intValue() ; for(int i = 1; i (Integer)(x.elementAt(i).intValue() min = (Integer)(x.elementAt(i).intValue(); return min; public class Test public static void main ( String args ) Vector v = new Vector( ); for (int i = 1; i = 5; i+) v.add(new Integer(i) ); VectorSort vs = new VectorSort(v ); System.out.println(“max=” + vs.getMax() ); System.out.println(“min=” + vs.getMin() ); 13、构造一个类Point来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标属性,以及一些对点进行的操作,包括获取点的坐标值,对点的坐标进行赋值,求两点之间的距离distance()方法(注意,该方法必须是静态的)。答:参考程序如下:class Point private int x, y; /x,y坐标属性 Point (int a, int b) x=a; y=b; public int getX( ) return x; public int getY( ) retum y; public int setX( int a) x = a; public int setY( int b) x = b; public static double distance ( Point p1,Point p2) int x = p2.getX( ) p1.getX( ); int y = p2.getY( ) p1.getY( ); double dist = Math.sqrt( x*x + y*y ); return dist;14、编写一个应用程序求出1/n!(n=1,2,20)的值,要求包含主方法的主类名为ValueE。答:参考程序如下:class ValueEpublic static long jiecheng (int n) long s = 1; for ( int i = 2; i = n; i+ ) s = s * i; return s;public static void main ( String args ) double sum = 0.0; for ( int i = 1; i = 20; i+ ) sum = sum + 1.0 / jiecheng( i); System.out.println(sum= + sum);15、编写一个程序,由系统随机产生或由用户输入范围在0和255之间的三个整数,把三个整数分别作为R、G、B三种配色的分量配成一个前景色,然后使用该颜色输出彩色字符串“这是彩色的世界”答:参考程序如下:import java.awt.*;import java.awt.event.*;import java.applet.*;public class ColorString extends Applet public void paint(Graphics g) int x,y,z; x = (int)(Math.random()*255) + 1; y = (int)(Math.random()*255) + 1; z = (int)(Math.random()*255) + 1; g.setColor(new Color(x,y,z); g.drawString(这是彩色的世界,20,30); 16、编写一个Frame框架应用程序,要求如下:(1) 在窗口设置两个菜单“文件”、“编辑”(2) 在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭”(3) 在“编辑”菜单里添加两个菜单项“复制”、“粘贴”(4) 点击关闭菜单项时,使程序关闭。答:参考程序如下:import java.awt.*;import java.awt.event.*;import javax.swing.*; /* * 主窗体 */public class MyFrame extends JFrame private static final long serialVersionUID = 6895463895656626294L;private JFrame frmMain; / 窗体JMenuBar mb; / 菜单栏JMenu mnuFile; / 文件菜单JMenu mnuEdit; / 编辑菜单JMenuItem miOpen; / 打开菜单项JMenuItem miSave; / 保存菜单项JMenuItem miClose; / 关闭菜单项JMenuItem miCopy; / 复制菜单项JMenuItem miPaste; / 粘贴菜单项public MyFrame() frmMain = new JFrame(主窗体);/ 创建菜单栏mb = new JMenuBar();/ 创建菜单mnuFile = new JMenu(文件);mnuEdit = new JMenu(编辑);/ 创建菜单项miOpen = new JMenuItem(打开);mi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论