System.out.print(a[i]+"");
System.out.println();
}
}
3.写出以下程序的功能。
importjava.io.*;
publicclassTestFile
{
publicstaticvoidmain(Stringargs[])throwsException
{
BufferedReaderbr=newBufferedReader(
newInputStreamReader(System.in));
BufferedWriterbw=newBufferedWriter(newFileWriter(“input.txt"));
Strings;
while(true)
{
System.out.print("请输入一个字符串:
");
System.out.flush();
s=br.readLine();
if(s.length()==0)break;
bw.write(s);
bw.newLine();
}
bw.close();
}
}
功能:
从键盘逐一输入字符串,逐一输出至input.txt文件中,直至输入空行。
《JAVA语言程序设计》期末考试试题及答案3(应考必备题库)
一、单项选择题
1、如下哪个是Java中的标识符()
A、publicB、superC、3numberD、width
2、如下哪个是Java中的标识符()
A、fieldnameB、superC、3numberD、#number
3、已知如下定义:
Strings="story";下面哪个语句不是合法的()
A、s+="books";B、s=s+100;
C、intlen=s.length;D、Stringt=s+“abc”;
二、填空题
1、如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。
5、Java中用于两个数相等比较的运算符是:
(==),用于不相等比较的运算符是(<>)。
7、导入mypackage包中的所类的命令是(importmypackage.*;)。
四、简答题
1、简述Java中异常处理的机制?
答:
首先Java的异常是面向对象的。
一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里。
Java的异常处理是通过5个关键词来实现的:
try,catch,throw,throws和finally。
1.异常处理:
在Java语言的错误处理结构由try,catch,finally三个块组成。
其中try块存放将可能发生异常的Java语言,并管理相关的异常指针;catch块紧跟在try块后面,用来激发被捕获的异常;finally块包含清除程序没有释放的资源,句柄等。
不管try块中的代码如何退出,都将执行finally块。
2.抛出异常:
Java语言可以不在方法中直接捕获,而用throw语句将异常抛给上层的调用者。
Throw语句就是来明确地抛出一个异常;首先你必需得到一个Throwable的实例句柄,通过参数传到catch中,或者采用new操作符来创建一个。
2、什么是继承?
答:
通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。
3、请简述重载和重写的区别?
答:
方法的重写Overriding和重载Overloading是Java多态性的不同表现。
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。
子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。
Overloaded的方法是可以改变返回值的类型。
五、程序设计题
1、按以下要求编写程序
(1)创建一个Rectangle类,添加width和height两个成员变量
(2)在Rectangle中添加两种方法分别计算矩形的周长和面积
(3)编程利用Rectangle输出一个矩形的周长和面积
解答:
publicclassRectangle{
floatwidth,height;
publicRectangle(floatwidth,floatheight){
this.width=width;
this.height=height;
}
publicfloatgetLength(){
return(this.width+this.height)*2;
}
publicfloatgetArea(){
returnthis.width*this.height;
}
publicstaticvoidmain(String[]args){
Rectanglerect=newRectangle(10,20);
System.out.println("周长是:
"+rect.getLength());
System.out.println("面积是:
"+rect.getArea());
}
}
2、按以下要求编写程序
(1)编写Animal接口,接口中声明run()方法
(2)定义Bird类和Fish类实现Animal接口
(3)编写Bird类和Fish类的测试程序,并调用其中的run()方法
解答:
publicinterfaceAnimal{
voidrun();
}
classBirdimplementsAnimal{
publicvoidrun(){
System.out.println("鸟儿在飞...");
}
}
classFishimplementsAnimal{
publicvoidrun(){
System.out.println("鱼儿在游...");
}
}
publicclassTestAnimal{
publicstaticvoidmain(String[]args){
Birdbird=newBird();
bird.run();
Fishfish=newFish();
fish.run();
}
}
3、编写一个Frame框架应用程序,要求如下:
(1)在窗口设置两个菜单“文件”、“编辑”
(2)在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭”
(3)在“编辑”菜单里添加两个菜单项“复制”、“粘贴”
(4)点击关闭菜单项时,使程序关闭。
解答:
importjava.awt.Color;
importjava.awt.Frame;
importjava.awt.Menu;
importjava.awt.MenuBar;
importjava.awt.MenuItem;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
/*
*主窗体
*/
publicclassMyFrameextendsFrame{
privatestaticfinallongserialVersionUID=6895463895656626294L;
privateFramefrmMain;//窗体
MenuBarmb;//菜单栏
MenumnuFile;//"文件"菜单
MenumnuEdit;//"编辑"菜单
MenuItemmiOpen;//"打开"菜单项
MenuItemmiSave;//"保存"菜单项
MenuItemmiClose;//"关闭"菜单项
MenuItemmiCopy;//"复制"菜单项
MenuItemmiPaste;//"粘贴"菜单项
publicMyFrame(){
frmMain=newFrame("主窗体");
//创建菜单栏
mb=newMenuBar();
//创建菜单
mnuFile=newMenu("文件");
mnuEdit=newMenu("编辑");
//创建菜单项
miOpen=newMenuItem("打开");
miSave=newMenuItem("保存");
miClose=newMenuItem("关闭");
miCopy=newMenuItem("复制");
miPaste=newMenuItem("粘贴");
}
publicvoidshowFrame(){
frmMain.setSize(800,600);
frmMain.setLocation(100,100);
frmMain.setBackground(Color.white);
frmMain.setVisible(true);
frmMain.setLayout(null);
frmMain.addWindowListener(newWindowHandler());//注册窗口监听器
//将菜单栏放入窗体中
frmMain.setMenuBar(mb);
//将菜单放入菜单栏中
mb.add(mnuFile);
mb.add(mnuEdit);
//将菜单项放入菜单中
mnuFile.add(miOpen);
mnuFile.add(miSave);
mnuFile.add(miClose);
mnuEdit.add(miCopy);
mnuEdit.add(miPaste);
//注册动作事件监听器
miClose.setActionCommand("miClose_Clicked");
miClose.addActionListener(newMenuHandler());
}
//定义一个内部类,在这个类中编写窗口关闭事件处理程序。
privateclassWindowHandlerextendsWindowAdapter{
publicvoidwindowClosing(WindowEvente){
System.exit(0);//退出应用程序,状态码0表示正常终止,非0表示异常终止。
}
}
//定义一个内部类,在这个类中编写动作事件处理程序。
privateclassMenuHandlerimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
if(e.getActionCommand()=="miClose_Clicked"){
System.exit(0);//退出应用程序
}
}
}
}
publicclassTestMyFrame{
publicstaticvoidmain(String[]args){
//启动主窗体
MyFrameguiWindow=newMyFrame();
guiWindow.showFrame();
}
}
《JAVA语言程序设计》期末考试试题及答案4(应考必备题库)
一、单选题
1、下列程序段执行后的结果是()。
Strings=newString("abcdefg");
for(inti=0;iSystem.out.print(s.charAt(i));
}
A)acegB)ACEGC)abcdefgD)abcd
2、有整型数组:
int[]x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是().
A)2781235B)1235872
C)3512872D)8712352
3、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。
File构造函数中正确的路径和文件名的表示是()。
Filef=newFile(填代码处);
file=newFileReader(f);
in=newBufferedReader(file);
A)"./1.txt"B)"../my/1.txt"C)"c:
\\my\\1.txt"D)"c:
\my\1.txt"
4、应用程序的main方法中有以下语句,则输出的结果是()。
Strings1=newString("abc");
Strings2=newString("abc");
booleanb1=s1.equals(s2);
booleanb2=(s1==s2);
System.out.print(b1+""+b2);
A)truefalseB)falsetrueC)truetrueD)falsefalse
5、应用程序的main方法中有以下语句,则输出的结果是()。
Hashtablehashtable=newHashtable();
hashtable.put("x","12345");
hashtable.put("y","67890");
hashtable.put("a","abcde");
System.out.println(hashtable.get("a"));
A)aB)abcdeC)12345D)67890
6、下面语句的功能是()。
RandomAccessFileraf2=newRandomAccessFile("1.txt","rw");
A)打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。
B)打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。
C)打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。
D)以上说法都不对。
7、应用程序的main方法中有以下语句,则输出的结果是()。
Strings="12345#aaa#bbb#67890";
intn=s.indexOf("#");
intk=s.indexOf("#",n+1);
intm=s.indexOf("#",k+1);
Strings2=s.substring(m+1);
System.out.println(s2);
A)123456B)67890C)aaaD)bbb
8、下面程序段执行后b的值是()。
Integerinteg=newInteger(9);
booleanb=integinstanceofObject;
A)9B)trueC)1D)false
9、应用程序Test.java的源程序如下,在命令行键入:
javaTestaaabbc
回车后输出的结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intk1=args.length;
intk2=args[1].length();
System.out.print(k1+""+k2);
}
}
A)32B)12C)13D)33
10、应用程序的main方法中有以下