java实验二附答案
- 格式:docx
- 大小:21.69 KB
- 文档页数:5
全国计算机二级考试java测试题与答案(2)全国计算机二级考试java测试题与答案[5] (new FlowLayout());add(prompt);add(input);add(output);add(btnn);input.addActionListener(this);btnn.addActionListener(this);setSize(300.200);show();}public void actionperformed(ActionEvent e){if(e.getSource() = = input)output.setText(input.getText()+"Welcome you!");else{dispose();system.exit(0);}}}三、上机操作题1.下列程序中,指定变量b=50为字节类型,变量f=0.55F为单精度实型,变量1=0xfffL为64位整型,并将该三个变量打印输出.请将程序补充完整.import java.io.*;public class Assign}public static void main(String args[]){_______b=50;_______f=0.55F;_______l=0xfffL;System.out.println("b="+b);System.out.println("f="+f);System.out.println("l="+l);}}2.请完成下列Java程序:用位于JFrame窗口下方的Open按钮,打开一个文件对话框,检索.gif或者.png图形文件,并在窗口中央将图象显示出来.(提示:将图象文件嵌入图象标内,再将图像图标置于标签中)注意:请勿改动main主方法和其他已有语句内容,仅在下划线处填入适当的语句.import java.awt.*;import jova.awt.event.*;import java.io.*;import javax.swing.*;public class ImageViewer{ public stratic void main(String[]args){ JFrame frame=new ImageViewer Frame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();}}class ImgeViewerFrame extends JFrame{ public ImageViewerFrame(){ setTitle("ImageViewer");setSize(DEFAULT_WIDTH,DEFAULT_HEIGTH);label = new JLAbel();Container contentpane = getContentpane();contentpane.add(label.BorderLayout.CENTER);chooser = new JFileChooser();chooser.setCurrentDirectory(new File("."));Button button = new Button("open");contentpane.add(button,BorderLayout.SOUTH);button.addActionListener(newActionListener(){ public void actionperformed(ActionEvent evt){ int r = chooser.showOpenDialog(null));if(r = = JFilechooser.APPROVE_OPTLON){ String name=_______________________________}}});}private JLabel label;private JFileChooser chooser;private static final int DEFAULT_WIDTH = 300;private static final int DEFAULT_HEIGHT = 400;}3.下面是一个Applet程序,其功能是接收用户输入的两个整数,比较它们的大小,并在用户按下“比较”按钮后,将Applet中显示的“请先输入两个待比较的整数”,改为“两个整数中最大值是:x”,x是两个数中的最大值.请改正程序中的错误(有下划线的语句),使程序能输出正确的结果.注意:不改动程序的结构,不得增行或删行.import java.applet.*;import java.awt.*;import java.awr.event.*;public class FindMax extends Applet implements ActionListener{Label result;TextField in1,in2;Button btn;int a=0,b=0,max;public void init(){result = new Label"请先输入两个待比较的整数");in1=new TextField(5);in2=new TextField(5);btn=new Button("比较");add(in1);add(in2);add(btn);add(result);btn.addActionListener(this);}public void actionperformed(ActionEvent e){a=in1;n=in2;if(a>b)max=a;elsemax=b;btn.setText("两个数中最大值是:"+max);}}findmax.html:A Simple Program---------------------------------------。
计算机二级JAVA试题附带答案【1】计算机二级JAVA试题附带答案1). 顺序存储结构____。
A.仅适合于静态查找表的存储B.仅适合于动态查找表的存储C.既适合静态又适合动态查找表的存储D.既不适合静态又不适合动态查找表的`存储正确答案:C2). 在编写Java application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上____语句。
A.import java.awt.*;B.import java.applet.applet;C.import java.io.*;D.import java.awt.Graphics;正确答案:C3). 关于以下程序段的执行结果,说法正确的是public class Borley extends Thread{public static void main(String argv[]){Borley b = new Borley(); b.start(); }public void run(){System.out.println("Running");}}A.编译通过并执行,但无输出B.编译通过并执行,输出:RunningC.产生错误,没有Thread类对象D.产生错误,没有通道到达Thread包正确答案:B4). 线性表若采用链表存储结构时,要求内存中可用存储单元的地址____。
A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续不连续都可以正确答案:D5). 在Java中,能实现多重继承效果的方式是____。
A.内部类B.适配器C.接口D.同步正确答案:C6). 在编写异常处理的Java程序中,每个catch语句块都应该与____语句块对应,使得用该语句块来启动Java的异常处理机制。
A.if-elseB.switchC.tryD.throw正确答案:C【2】计算机二级JAVA试题附带答案1). 在关系数据库系统中,当关系的模型改变时,用户程序也可以不变,这是A.数据的物理独立性B.数据的逻辑独立性C.数据的位置独立性D.数据的存储独立性正确答案:B2). 下面哪个操作是applet可以做的?A.读取客户端部分系统变量B.读取客户端文件C.在客户端主机上创建新文件D.在客户端装载程序库正确答案:B3). 在面向对象数据模型中,子类不但可以从其超类中继承所有的属性和方法,而且还可以定义自己的属性和方法,这有利于实现A.可移植性B.可扩充性C.安全性D.可靠性正确答案:B4). 在Java 中,由Java 编译器自动导入而无需在程序中用i mport 导入的包是( )。
java二级试题及答案一、选择题1.下列哪个选项用于创建一个类的实例?A. newB. thisC. finalD. void2.以下哪个关键字用于定义一个类的方法可以被子类重写?A. publicB. finalC. staticD. abstract3.以下哪个关键字用于定义一个类的成员变量可以被子类直接访问?A. privateB. protectedC. staticD. transient4.下列哪个选项是Java的基本数据类型?A. StringB. IntegerC. BooleanD. Double5.以下哪个选项是Java中的循环结构?A. forB. ifC. switchD. try二、填空题1. 声明一个整型变量并将其初始化为10:int num = _________ ;2. 定义一个常量并赋值为3.14:final double PI = _________ ;3. 定义一个字符串变量,并将其初始化为空串:String str =_________ ;4. 声明一个布尔变量并将其初始化为真:boolean flag = _________ ;5. 将两个整数相加并将结果赋值给一个整型变量:int sum =_________ + _________ ;三、编程题1. 编写一个Java程序,实现输入一个整数n,并输出1到n之间所有偶数的和。
示例输入:10示例输出:302. 编写一个Java程序,实现输入一个字符串,判断该字符串是否是回文串(正序和反序读都一样)。
示例输入:radar示例输出:是回文串3. 编写一个Java程序,实现输入一个整数n,并输出斐波那契数列的前n项。
示例输入:5示例输出:0 1 1 2 3四、简答题1. 什么是Java的面向对象特性?举例说明面向对象编程的好处。
2. Java中的继承和多态的概念分别是什么?它们如何实现面向对象的特性?3. Java中的异常处理机制是什么?说明try-catch-finally语句的作用和使用方法。
java2实用教程课后习题答案(第三版编程题)3. 编写应用程序,求1!+2!+…+10!。
答:class Fact{public static void main(String args[]){int fact,sum=0;for(int i=1;i<=10;i++){fact=1;for(int j=1;j<=i;j++)fact*=j;sum+=fact;}System.out.println("1到10的阶乘之和是:"+sum);}}4. 编写一个应用程序,求100以内的全部素数。
答:class Primes{ public static void main(String args[]){ int w=1;for(int i=2;i<=100;i++){ for(int j=2;j<i;j++){ w=i%j;if(w==0)break;}if(w!=0)System.out.println(i+"是素数");}}}5. 分别用do―while和for循环计算1+1/2!+1/3!+1/4!+…的前20项和。
答: ①for循环class Sum{public static void main(String args[]){int fact;double sum=0;for(int i=1;i<=20;i++){fact=1;for(int j=1;j<=i;j++)fact*=j;sum+=1.0/fact;}System.out.println(sum);}}②do―while循环class Sum{public static void main(String args[]){int i=1;int fact;double sum=0;do{fact=1;int j=0;while(++j<=i)fact*=j;sum+=1.0/fact;}while(++i<=20);System.out.println(sum);}}6. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。
java二级试题及答案一、选择题(每题2分,共10题,共计20分)1. 下面哪个选项不是Java关键字?A. classB. packageC. finalD. import2. 下面哪种循环语句可以用于遍历数组或集合?A. forB. whileC. do-whileD. switch3. Java中的包(package)用于什么目的?A. 控制类的访问权限B. 封装类的属性和方法C. 组织类的层次结构D. 使类具有继承特性4. 在Java中,以下哪个关键字用于定义一个类的子类?A. superB. thisC. extendsD. implements5. 下面哪个选项不是Java中的访问修饰符?A. privateB. protectedC. publicD. static6. 在Java中,以下哪个方法用于启动一个新的线程?A. start()B. run()C. execute()D. launch()7. 在Java中,以下哪个异常类是所有异常的父类?A. ExceptionB. RuntimeExceptioinC. ErrorD. Throwable8. 在Java中,以下哪个关键字用于定义常量?A. varB. constC. finalD. static9. 在Java中,以下哪种集合类用于存储键值对?A. ArrayListB. HashSetC. LinkedListD. HashMap10. 下面哪个选项不是Java中的基本数据类型?A. intB. doubleC. booleanD. string二、填空题(每空2分,共5题,共计10分)1. Java中的数据类型分为两类,分别为基本数据类型和_____________。
2. Java中的三目运算符的格式是_____________。
3. 在Java中,方法的重载是指在同一个类中,方法名相同但参数类型或个数_____________的情况下可以存在多个方法。
java2试题库及答案一、单项选择题(每题2分,共10题)1. Java中,哪个关键字用于声明一个类?A. classB. interfaceC. structD. enum答案:A2. 下列哪个不是Java的基本数据类型?A. intB. floatC. doubleD. String答案:D3. 在Java中,哪个方法用于获取数组的长度?A. length()B. size()C. getLength()D. count()答案:A4. Java中,哪个关键字用于实现类的继承?A. extendsB. implementsC. overrideD. abstract答案:A5. Java中,哪个关键字用于声明一个接口?A. classB. interfaceC. abstractD. enum答案:B6. 在Java中,哪个关键字用于声明一个方法?A. functionB. methodC. procedureD. void答案:D7. 在Java中,哪个关键字用于声明一个变量?A. varB. letC. defD. val答案:A8. 在Java中,哪个关键字用于声明一个方法可以被子类重写?A. finalB. abstractC. overrideD. static答案:C9. 在Java中,哪个关键字用于声明一个类是不可被继承的?A. finalB. abstractC. staticD. private答案:A10. 在Java中,哪个关键字用于声明一个方法可以被多线程访问?A. synchronizedB. volatileC. transientD. native答案:A二、多项选择题(每题2分,共10题)1. 在Java中,哪些关键字用于控制流程?A. ifB. elseC. switchD. try答案:ABC2. 哪些是Java中合法的标识符?A. 2variableB. _variableC. variable2D. variable$$答案:BCD3. 哪些是Java中合法的数组声明?A. int[] myArray;B. int myArray[];C. int[] myArray[] = new int[10][10];D. int[][] myArray = new int[10][]; 答案:AC4. 哪些是Java中合法的继承方式?A. 单继承B. 多继承C. 接口实现D. 多重接口实现答案:ACD5. 哪些是Java中合法的修饰符?A. publicB. privateC. protectedD. static答案:ABCD6. 哪些是Java中合法的异常处理关键字?A. tryB. catchC. finallyD. throw答案:ABCD7. 哪些是Java中合法的集合框架类?A. ListB. SetC. MapD. Queue答案:ABCD8. 哪些是Java中合法的泛型类?A. List<T>B. Set<E>C. Map<K, V>D. Queue<Q>答案:ABCD9. 哪些是Java中合法的线程同步关键字?A. synchronizedB. volatileC. transientD. final答案:AB10. 哪些是Java中合法的注解?A. @OverrideB. @DeprecatedC. @SuppressWarningsD. @FunctionalInterface答案:ABCD三、判断题(每题2分,共10题)1. Java中的main方法必须声明为public static void。
读程序题第二章4. 下列哪些语句是错误的:int x = 8;byte b = 127;b = x;答:b=x语句错误;原因是高级别的变量赋值给低级别的变量时,一定要用显式转换即b=(byte)x; 。
5. 下列程序的输出结果是什么?public class E{public static void main(String args[]){long[] a={1,2,3,4};long[] b={100,200,300,400,500};b=a;System.out.println("数组b的长度:"+b.length);System.out.println("b[0]="+b[0]);}}答: 数组b的长度:4b[0]=16. 上机运行下列程序,注意观察输出结果。
public class E{public static void main(String args[]){for(int i=20302;i<20322;i++){System.out.println((char)i);}}}答: 低住佐佑佒体佔何佖佗佘余佚佛作佝佞佟你佡7. System.out.println(“你好”);可输出字符串,也可以使用System.out.println( )输出变量或表达式的值,只需使用并置符号“+”将变量、表达式或一个常数值与一个字符串并置即可,如: System.out.println(“”+x);System.out.println(“:”+123+“大于”+122);等。
上机调试下列程序,注意观察结果,特别注意System.out.print( )和System.out.println( )的区别。
public class OutputData{public static void main(String args[]){int x=234,y=432;System.out.println(x+"<"+(2*x));System.out.print("我输出结果后不回车");System.out.println("我输出结果后自动回车到下一行");System.out.println("x+y= "+(x+y));System.out.println(" "+x+y+"=234432");}}答: 234<468我输出结果后不回车我输出结果后自动回车到下一行x+y= 666234432=234432第三章1. 下列程序的输出结果是什么?public class E{public static void main(String args[]){char x='你',y='e',z='吃';if(x>'A'){y='爱';z='情';}elsey='我';z='她';System.out.println(" "+x+y+z);}}答: 你爱她2. 下列程序的输出结果是什么?public class E3{public static void main(String args[]){char c='\0';for(int i=1;i<=4;i++){switch(i){case 1:c='b';System.out.print(c);case 2:c='e';System.out.print(c);break;case 3:c='p';System.out.print(c);default:System.out.print("!");}}}}答:beep!!12.下列程序有什么错误?public class Takecare{int a=90;static float b=10.98f;public static void main(String args[]){float c=a+b;System.out.println("c="+c);}}答: 语句float c=a+b;错误。
java2实用教程课后习题答案(第三版编程题)3. 编写应用程序,求1!+2!+…+10!。
答:class Fact{public static void main(String args[]){int fact,sum=0;for(int i=1;i<=10;i++){fact=1;for(int j=1;j<=i;j++)fact*=j;sum+=fact;}System.out.println("1到10的阶乘之和是:"+sum);}}4. 编写一个应用程序,求100以内的全部素数。
答:class Primes{ public static void main(String args[]){ int w=1;for(int i=2;i<=100;i++){ for(int j=2;j<i;j++){ w=i%j;if(w==0)break;}if(w!=0)System.out.println(i+"是素数");}}}5. 分别用do―while和for循环计算1+1/2!+1/3!+1/4!+…的前20项和。
答: ①for循环class Sum{public static void main(String args[]){int fact;double sum=0;for(int i=1;i<=20;i++){fact=1;for(int j=1;j<=i;j++)fact*=j;sum+=1.0/fact;}System.out.println(sum);}}②do―while循环long sum=0,data=8;for(int i=1;i<=10;i++){sum=sum+data;data=data*10+8;}System.out.println(sum);}}②while循环class TheSum{public static void main(String args[]){long sum=0,data=8,i=0;while(++i<=10){sum=sum+data;data=data*10+8;}System.out.println(sum);}}8. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数n。
Java实验二
实验二 类与对象
实验目的
1、 掌握面向对象程序设计的方法和Java作为面向对象程序设计语言的特点;
2、 掌握修饰符和构造方法的使用规则;
3、 掌握接口的特点、结构、调用和继承;
4、 掌握如何创建包,通过包如何管理类;
5、 掌握Java的继承机制和实现多态的方法
实验内容
(1)定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记
录GetRecord。SetRecord赋值学号、姓名和成绩,GetRecord通过学号得到考生的成绩。通
过实例验证编程无误。
(2)
定义一个接口Area,其中包含一个计算面积的抽象方法calculateArea(),然后设
计Circle和Rectan两个类实现这个接口的方法calculateArea(),分别计算圆和矩形
的面积。
通过实例验证编程无误。
(3) 假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,
如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均分
超过80分才能够通过。根据上述要求,请完成以下Java类的设计:
(i)设计一个基类Student描述学生的共同特征。
(ii)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。
(iii)设计一个描述研究生的类Graduate,该类继承并扩展Student类。
(iv)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,
并输出相关信息
附 实验一 名称是
Java语言基础
实验报告 分为以下几个部分
一 实验名称
二实验目的
三实验仪器
四实验步骤(把你的操作一步一步写清楚,java 程序代码要写)
五实验结果(程序运行后的结果就是DOS环境下运行出来的结果写在实验报告上)
六实验讨论(实验过程中的错误及如何改正,你的心得体会等)
答案:
(1)定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记
录GetRecord。SetRecord赋值学号、姓名和成绩,GetRecord通过学号得到考生的成绩。通
过实例验证编程无误
public class Student {
private int ID;
private String name;
private float score;
public void SetRecord(int ID,String name,float score){
this.ID=ID;
this.name=name;
this.score=score;
}
public float getRecord(int ID){
if(ID==this.ID)
return this.score;
else
return -1;
}
public static void main(String[] args) {
Student s=new Student();
s.SetRecord(0,"alex",100);
float Sco=s.getRecord(0);
System.out.print(Sco);
}
}
(2)
定义一个接口Area,其中包含一个计算面积的抽象方法calculateArea(),然后设
计Circle和Rectan两个类实现这个接口的方法calculateArea(),分别计算圆和矩形
的面积。
通过实例验证编程无误
interface Area{
float calculateArea();
}
class Circle implements Area{
float radius;
Circle (float r){
this.radius=r;
}
public float calculateArea(){
return (float) Math.PI*radius*radius;
}
}
class Rectan implements Area{
float width;
float height;
Rectan(float w,float h){
this.width=w;
this.height=h;
}
public float calculateArea(){
return (float)width*height;
}
}
public class Interface{
public static void main (String args[]){
Circle circle =new Circle(5);
System.out.println ("Circle Area="+circle.calculateArea());
Rectan rect=new Rectan(12,6);
System.out.println("Rectangle Area="+rect.calculateArea());
}
}
(3) 假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,
如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均分
超过80分才能够通过。根据上述要求,请完成以下Java类的设计:
(i)设计一个基类Student描述学生的共同特征。
(ii)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。
(iii)设计一个描述研究生的类Graduate,该类继承并扩展Student类。
(iv)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,
并输出相关信息。
class Student
{
public String name;
public double a,b,c;
public double average;
int status;
}
class Undergraduate extends Student
{
Undergraduate(String s,double a,double b,double c)
{
this.name = s;
this.a = a;
this.b = b;
this.c = c;
this.average = (a+b+c)/3;
}
public void Display()
{
if(this.average>=60)
status = 1;
else
status=0;
if(status==1)
System.out.println(name+":通过!");
if(status==0)
System.out.println(name+":不通过!");
}
}
class Graduate extends Student
{
Graduate(String s,double a,double b,double c)
{
this.name = s;
this.a = a;
this.b = b;
this.c = c;
this.average = (a+b+c)/3;
}
public void Display()
{
if(this.average>=80)
status = 1;
else
status=0;
if(status==1)
System.out.println(name+":通过!");
if(status==0)
System.out.println(name+":不通过!");
}
}
public class StudentDemo
{
public static void main(String args[])
{
Undergraduate st1 = new Undergraduate("张三",50,70,60);
st1.Display();
Graduate st2=new Graduate("李四",70,80,90);
st2.Display();
}
}
附:这三个程序中相关的实例都是随意举的,你也可以改成自己的。