当前位置:文档之家› java期末上机考试题详细代码和注释

java期末上机考试题详细代码和注释

java期末上机考试题详细代码和注释
java期末上机考试题详细代码和注释

复习题

1,产生n个30以内的随机数,统计并输出1,2,3,各数段的数的个数,并输出数中的最大数和最小数。

//导入包用于创建输入对象

import java.util.*;

//创建随机测试类

public class RandomTest

{

//创建输入静态对象sc

static Scanner reader=new Scanner(System.in);

//创建类数组和N用于存放随机产生的N个随机数字

static int num[],N;

public static void main(String args[])

{

//定义m,n,k用于统计,max存放最大值,min存放最小值

int m=0,n=0,k=0,max=0,min=0;

System.out.print("请输入需要产生随机数的个数:");

N=reader.nextInt();

System.out.println("随机产生"+N+"个30以内的随机整数是:");

num=new int[N];

for(int i=0;i

{

//利用For循环随机产生N个30以内的随机整数,并且赋值给数组

num[i]=(int)(Math.random()*30);

//用m,n,k统计0-10-20-30三个段的数字的个数

if((num[i]/10)==0)

m++;

if((num[i]/10)==1)

n++;

if((num[i]/10)==2)

k++;

//第一次循环给最值赋值

if(i==0)

max=min=num[0];

//从第二次循环开始求最值

if(i>0)

{

for(int j=0;j<=i;j++)

{

if(num[j]>max)

max=num[j];

if(num[i]

min=num[i];

}

}

//依次输出随机数

System.out.print(num[i]+" ");

}

//最后统一输出结果

System.out.println("\n随机数字的个数统计如下:");

System.out.println("0到9之间有:"+m+"个。");

System.out.println("10到19之间有:"+n+"个。");

System.out.println("20到29之间有:"+k+"个。");

System.out.println("最大的随机数是:"+max);

System.out.println("最小的随机数是:"+min);

}

}

2,定义一个接口,接口中有四个抽象方法:求面积方法、求周长方法、显示面积方法及显示周长方法。定义Circle类和Rectangle类分别实现接口,在主类中实现显示圆和矩形的面积和周长。

//导入包用于创建输入对象

import java.util.*;

//创建接口-几何

interface jihe

{

//定义计算面积的方法

public void mianJi();

//定义计算周长的方法

public void zhouChang();

//定义显示面积的方法

public void outMianJi();

//定义显示周长的方法

public void outZhouChang();

}

//定义圆类-Circle实现接口-几何

class Circle implements jihe

{

//定义半径、面积、周长为类的成员变量

static double R,S,L;

//构造方法初始化半径

public Circle(double i)

{

R=i;

System.out.print("圆形---半径为:"+R);

}

public void mianJi()

{

S=3.14159*R*R;

}

//实现接口里的计算周长的方法

public void zhouChang()

{

L=2*3.14159*R;

}

//实现接口里的显示面积的方法

public void outMianJi()

{

System.out.print(",面积为:"+S);

}

//实现接口里的显示周长的方法

public void outZhouChang()

{

System.out.print(",周长为:"+L);

}

}

//定义矩形类-rectangle实现接口-几何

class Rectang implements jihe

{

//定义长、宽、面积、周长为类的成员变量static int A,B,S,L;

//构造方法初始化矩形的长和宽

public Rectang(int i,int j)

{

A=i;

B=j;

System.out.print("矩形---长为:"+A);

System.out.print(",宽为:"+B);

}

//实现接口里的计算面积的方法

public void mianJi()

{

S=A*B;

}

//实现接口里的计算周长的方法

public void zhouChang()

{

L=2*(A+B);

}

public void outMianJi()

{

System.out.print(",面积为:"+S);

}

//实现接口里的显示周长的方法

public void outZhouChang()

{

System.out.println(",周长为:"+L);

}

}

//定义主类InterfaceTest,调用圆类和矩形类

public class InterfaceTest

{

//创建输入静态对象sc

static Scanner reader=new Scanner(System.in);

public static void main(String args[])

{

//创建圆类的对象

System.out.print("请输入圆的半径:");

int r=reader.nextInt();

Circle Cir=new Circle(r);

//调用圆类的方法

Cir.mianJi();

Cir.zhouChang();

Cir.outMianJi();

Cir.outZhouChang();

//创建矩形类的对象

System.out.print("\n请输入矩形的长:");

int i=reader.nextInt();

System.out.print("请输入矩形的宽:");

int j=reader.nextInt();

Rectang Rect=new Rectang(i,j);

//调用矩形类的方法

Rect.mianJi();

Rect.zhouChang();

Rect.outMianJi();

Rect.outZhouChang();

}

}

3,用户在两个输入框中分别输入两个整数,单击“求积”按钮,在第三个输入框中显示两数中的积,单击“求和”按钮,在第四个输入框中显示两数的和。

//导入系统的类包

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

//创建计算类JiSuanTest-用于图形化的求积、求和

class JiSuanTest extends JFrame implements ActionListener

{

//声明组件对象

JLabel l1,l2;

JTextField t1,t2,t3,t4;

JButton b1,b2;

//构造函数

public JiSuanTest()

{

//创建组件对象

l1=new JLabel("数字1:");

l2=new JLabel("数字2:");

t1=new JTextField(6);

t2=new JTextField(6);

t3=new JTextField(6);

t4=new JTextField(6);

b1=new JButton("求积");

b2=new JButton("求和");

//引发动作事件监听器

b1.addActionListener(this);

b2.addActionListener(this);

//布局

setLayout(new GridLayout(4,2));

//加载对象

add(l1);

add(t1);

add(l2);

add(t2);

add(b1);

add(t3);

add(b2);

add(t4);

//设置框架属性

setSize(220,260);

setTitle("求两个数的积与和");

setVisible(true);

//通过屏幕和控件的大小计算控件左上角的位置,使窗体居中

double scr_width=Toolkit.getDefaultToolkit().getScreenSize().getWidth();

double scr_height=Toolkit.getDefaultToolkit().getScreenSize().getHeight();

double x1=(scr_width-getWidth())/2;

double y1=(scr_height-getHeight())/2;

int x=new Double(x1).intValue ();

int y=new Double(y1).intValue();

//设定窗体的左上坐标,使窗体居中

setLocation(x,y);

//窗体的默认关闭方法

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

//动作事件监听器函数

public void actionPerformed(ActionEvent e)

{

//点击“求积”按钮

if(e.getSource()==b1)

t3.setText(" "+(Integer.parseInt(t1.getText())*Integer.parseInt(t2.getText())));

//点击“求和”按钮

if(e.getSource()==b2)

t4.setText(" "+(Integer.parseInt(t1.getText())+Integer.parseInt(t2.getText())));

}

//主函数

public static void main(String args[])

{

//创建对象,自动调用构造函数

new JiSuanTest();

}

}

4,设计一个下拉式菜单和弹出式菜单,菜单标题为:设置窗体背景色。菜单中包含4个选项:红色、绿色、蓝色、退出,快捷键如下图所示,并在“蓝色”与“退出”选项间加一条分隔线。给菜单项注册事件监听器并完成相应的功能。

//导入系统的类包

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

//创建色彩菜单类ColorMenu

class ColorMenu extends JFrame implements ActionListener

{

//声明所需的对象

MenuBar MenuBar1;

Menu Menu1;

MenuItem Item1,Item2,Item3,Item4,Item5,Item6,Item7,Item8;

JTextArea ta; //此处使用了swing里的JTextArea

PopupMenu popupMenu1;

//构造方法

public ColorMenu()

{

//创建声明的对象

MenuBar1=new MenuBar();

Menu1=new Menu("菜单");

setMenuBar(MenuBar1);

MenuBar1.add(Menu1);

//创建快捷键和菜单项

MenuShortcut shortcut1=new MenuShortcut(KeyEvent.VK_1);

Item1=new MenuItem("红色",shortcut1);

MenuShortcut shortcut2=new MenuShortcut(KeyEvent.VK_2);

Item2=new MenuItem("绿色",shortcut2);

MenuShortcut shortcut3=new MenuShortcut(KeyEvent.VK_3);

Item3=new MenuItem("蓝色",shortcut3);

MenuShortcut shortcut4=new MenuShortcut(KeyEvent.VK_4);

Item4=new MenuItem("退出",shortcut4);

//添加菜单项到菜单

Menu1.add(Item1);

Menu1.add(Item2);

Menu1.add(Item3);

Menu1.addSeparator();

Menu1.add(Item4);

//添加动作事件监听器

Item1.addActionListener(this);

Item2.addActionListener(this);

Item3.addActionListener(this);

Item4.addActionListener(this);

//创建文本区的菜单项

Item5=new MenuItem("红色");

Item6=new MenuItem("绿色");

Item7=new MenuItem("蓝色");

Item8=new MenuItem("退出");

//在文本区添加右键菜单

ta=new JTextArea();

add(ta);

popupMenu1=new PopupMenu();

ta.add(popupMenu1);

//匿名类--添加右键弹出式的菜单的事件

ta.addMouseListener(new MouseAdapter()

{

public void mouseClicked(MouseEvent e)

{

if(e.getModifiers()==MouseEvent.BUTTON3_MASK)

popupMenu1.show(ta,e.getX(),e.getY());

}

}

);

//添加菜单项到右键菜单

popupMenu1.add(Item5);

popupMenu1.add(Item6);

popupMenu1.add(Item7);

popupMenu1.add(Item8);

//添加动作事件监听器

Item5.addActionListener(this);

Item6.addActionListener(this);

Item7.addActionListener(this);

Item8.addActionListener(this);

//设置窗口的属性

setSize(230,200);

setTitle("色彩与菜单");

setVisible(true);

//通过屏幕和控件的大小计算控件左上角的位置,使窗体居中

double scr_width=Toolkit.getDefaultToolkit().getScreenSize().getWidth();

double scr_height=Toolkit.getDefaultToolkit().getScreenSize().getHeight();

double x1=(scr_width-getWidth())/2;

double y1=(scr_height-getHeight())/2;

int x=new Double(x1).intValue ();

int y=new Double(y1).intValue();

//设定窗体的左上坐标,使窗体居中

setLocation(x,y);

//窗体的默认关闭方法

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

//动作事件监听器方法

public void actionPerformed(ActionEvent e)

{

//点击菜单栏的菜单项时引发的事件

if(e.getSource()==Item1)

ta.setBackground(Color.red);

if(e.getSource()==Item2)

ta.setBackground(Color.green);

if(e.getSource()==Item3)

ta.setBackground(Color.blue);

if(e.getSource()==Item4)

System.exit(0);

//点击右键的菜单项时引发的事件

if(e.getSource()==Item5)

ta.setBackground(Color.red);

if(e.getSource()==Item6)

ta.setBackground(Color.green);

if(e.getSource()==Item7)

ta.setBackground(Color.blue);

if(e.getSource()==Item8)

System.exit(0);

}

//主函数

public static void main(String args[])

{

//创建对象,自动调用其构造方法

new ColorMenu();

}

}

5,构造函数初始化为坐标原点,然后定义一个方法实现点的移动,再定义一个方法打印当前点的坐标。并创建一个对象验证。

//导入包用于创建输入对象

import java.util.*;

//创建主类PointTestTest

public class PointTest

{

//创建输入静态对象sc

static Scanner reader=new Scanner(System.in);

//定义类的实例变量

private int x,y;

private String name;

//无参的构造函数

public PointTest()

{

this.x = 0;

this.y = 0;

https://www.doczj.com/doc/82705231.html, = "原点";

}

//带参的构造函数

public PointTest(int x,int y,String name)

{

this.x = x;

this.y = y;

https://www.doczj.com/doc/82705231.html, = name;

}

//移动点的函数

public void move(int newX,int newY)

{

x = newX;

y = newY;

}

//打印点的函数

public void print()

{

System.out.println(name+":x="+x+" y="+y);

}

//主函数

public static void main (String[] args)

{

//创建初始时的原点对象p1

PointTest p1 = new PointTest();

p1.print();

System.out.println("现在,原点在X和Y方向上都移动了50个单位!");

p1.move(50,50);

System.out.print("原点移动后的坐标:");

p1.print();

//用户输入点A的坐标信息

System.out.print("请输入点A的坐标X:");

int x=reader.nextInt();

System.out.print("请输入点A的坐标Y:");

int y=reader.nextInt();

//创建某一点A对象p2

PointTest p2 = new PointTest(x,y,"点A");

p2.print();

System.out.print("请输入点A在X方向上移动多少单位:");

int i=reader.nextInt();

System.out.print("请输入点A在Y方向上移动多少单位:");

int j=reader.nextInt();

p2.move(x+i,y+j);

System.out.print("现在,点A在X方向上移动了"+i+"个单位");

System.out.println(",在Y方向上移动了"+j+"个单位!");

System.out.print("点A移动后的坐标:");

p2.print();

}

}

JAVA程序设计期末考试题(多套含答案)

《JA V A程序设计》期末考试试题(五) 一、单选题 1、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是()。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( )。 File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录:e:\xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是( )。 String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序Test.java说法正确的是( )。 public class Test { String x="1"; int y; public static void main(String args[]) { int z=2; System.out.println(x+y+z); } } A)3 B)102 C) 12 D)程序有编译错误 5、应用程序的main方法中有以下语句,则输出的结果是( )。

java期末考试试题及答案

1.谈谈final, finally, finalize的区别。 final关键字: a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。 b) 将变量或方法声明为final,可以保证它们在使用中不被改变。 c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 d) 被声明为final的方法也同样只能使用,不能重载。 finally关键字:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。 finalize:方法名,不是关键字。Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 2.GC是什么? 为什么要有GC? GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 3.Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 写程序Math.round(11.5) = 12 Math.round(-11.5) = -11 4.给我一个你最常见到的runtime exception ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

Java面向对象上机试题(经典)

《使用Java实现面向对象编程》阶段测试-机试试卷 一、语言和环境 A、实现语言 Java B、环境要求 JDK 6.0、MyEclipse7.5 二、功能要求 开发基于控制台的购书系统。具体要求如下: (1)输出所有图书的信息:包括每本图书的图书编号、图书名称、图书单价和库存数量。 (2)顾客购买图书:根据提示输入图书编号来购买图书,并根据提示输入购买图书数量(用户必须连续购书三次)。 (3)购书完毕后输出顾客的订单信息:包括订单号、订单明细、订单总额和订单日期。 系统运行界面如图-1所示。

图-1 系统运行界面三、类的设计 该系统中必须包括三个类,类名及属性设置如下。 图书类(Book) ?图书编号(bookId) ?图书名称(bookName) ?图书单价(price) ?库存数量(storage) 订单项类(OrderItem) ?图书名称(bookName) ?图书单价(price) ?购买数量(num) 订单类(Order): ?订单号(orderId)

?订单总额(total) ?订单日期(date) ?订单项列表(items) 四、具体要求及推荐实现步骤 1、创建图书类,根据业务需要提供需要的构造方法和setter/getter方法。 2、创建订单项类,根据业务需要提供需要的构造方法和setter/getter方法。 3、创建订单类,根据业务需要提供需要的构造方法和setter/getter方法。 4、创建测试类Test,实现顾客购买图书。 A、获取所有图书信息并输出:创建至少三个图书对象并输出即可。 B、顾客购买图书:顾客通过输入图书编号来购买图书,并输入购买数量。 C、输出订单信息:包括订单号、订单明细、订单总额、订单日期。

JAVA期末试题及答案

Java 程序设计》课程试卷 1.使用 Java 语言编写的源程序保存时的文件扩展名是( )。 (A ) .class ( B ) .java C ) .cpp ( D ) .txt 2.设 int a=-2 ,则表达式 a>>>3 的值为( )。 (A ) 0 (B )3 (C ) 8 (D )-1 3.设有数组的定义 int[] a = new int[3] ,则下面对数组元素的引用错误的是( ) ( A )a[0]; ( B ) a[a.length-1]; (C )a[3]; (D )int i=1 ; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( )。 (A )封装 (B )继承 (C )覆盖 (D )重载 5.在类的定义中构造函数的作用是( )。 (A )保护成员变量 (B )读取类的成员变量 (C )描述类的特征 (D )初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( )。 ( A ) try ( B ) break ( C ) catch ( D ) finally 7.类与对象的关系是( )。 (A )类是对象的抽象 (B )对象是类的抽象 15. Java 语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB 16. 如果一个类的成员变量 (A) public (B) (C 对象是类的子类 (D )类是对象的具体实例 )。 8.下面哪一个是 Java 中不合法的标识符( ( A )$persons ( B ) twoNum ( C )_myVar ( D )*point 9.为 AB 类的一个无形式参数无返回值的方法 ( ) 。 ( A ) static void method( ) ( B ) public void method( ) ( C ) final void method( ) ( D ) abstract void method( ) 10.欲构造 ArrayList 类的一个实例,此类继承了 ( A ) ArrayList myList=new Object( ) ( B ) List myList=new ArrayList( ) ( C ) ArrayList myList=new List( ) ( D ) List myList=new List( ) 11. Java 源文件和编译后的文件扩展名分别为( (A) .class 和 .java (C).class 和 .class 12. 在 Java Applet 程序用户自定义的 (A) start( ) (B) stop( ) (C) init( ) 13. 对于一个 Java 源文件, (A) package,import,class (C) import,package,class 14. 下面哪个是非法的: (A) int I = 32; (C) double d = 45.0; method 书写方法头,使得使用类名 List 接口,下列哪个方法是正确的( ) ( B).java 和 .class (D) .java 和 .java Applet 子类中,一般需要重载父类的 (D) paint( ) import, class (B) class,import,package (D) package,class,import ( ) 定义以及 package 正确的顺序是: (B) float f = 45.0; (D) char c = // 符号错 AB 作为前缀就可以调用它,该方法头的形式为 方法来完成一些画图操作。 (D) Unicode 只能 在所在类中使用 则该成员变量必须使用的修饰是

大学java期末试卷2份(含答案)

Java大学考试试卷 一、选择题(每题2分,共30分) 1、Java中main()函数的值是。 A、 String B、int C、char D、void 2、如下字串是Java中的标识符。 A、 fieldname B、super C、3number D、#number 3、下面的代码段中,执行之后i 和j 的值是。 int i = 1; int j; j = i++; A、 1, 1 B、1, 2 C、2, 1 D、2, 2 4、已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 };下面表达式的值与数组下标量总数相等。 A、 m.length() B、m.length C、m.length()+1 D、m.length+1 5、当浏览器返回到新URL的包含applet 的页面时调用以下函数。 A、 init() B、start() C、stop() D、destroy() 6、以下方法用于定义线程的执行体。 A、 start() B、init() C、run() D、main() 7、如果类中的成员变量可以被同一包访问,则使用如下约束符。 A、 private B、public C、protected D、final 8、以下约束符可用于定义成员常量。 A、 static B、final C、abstract D、No modifier can be used 9、下面方法与applet的显示无关。 A、 update() B、draw() C、repaint() D、paint() 10、请问如下方法可以将MenuBar加入Frame中。 A、 setMenu() B、setMenuBar() C、add() D、addMenuBar() 11、下面不是Java中的容器。 A、 ScrollPane B、Canvas C、Dialog D、Applet 12、下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。File 构造函数中正确的路径和文件名的表示是。 File f=new File(填代码处); file=new FileReader(f); in=new BufferedReader(file); A) "1.txt" B) "d:\\my\\1" C) "d:\\my\\1.txt" D) "d:\ my\1.txt" 13、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是。A) 2 7 8 12 35 B) 12 35 8 7 2 C) 35 12 8 7 2 D) 8 7 12 35 2 14、下面的程序段执行后输出的结果是。 StringBuffer buf=new StringBuffer("Beijing2008"); buf.insert(7,"@"); System.out.println(buf.toString()); A) Beijing@2008B) @Beijing2008 C) Beijing2008@ D) Beijing#2008 15、.下面表达式可用得到x和y的最大值。 A) x>y?y:x B) xy?(x+y):(x-y) D) x==y?y:x; 二、多选题(每题至少有一个正确答案,多选少选都不给分,每题2分,共10分) 16、下面赋值语句是合法的。 A、float a = 2.0 B、double b = 2.0 C、int c = 2 D、long d = 2 17、下面语句是创建数组的正确语句。 A、 float f[][] = new float[6][6]; B、float []f[] = new float[6][6]; C、float f[][] = new float[][6]; D、float [][]f = new float[6][6]; 18、Java中如下约束符是正确的。 A、 private B、public C、protected D、protect 19. 下面事件监听器在Java中有事件适配器。 A、 MouseListener B、KeyListener C、ActionListener D、WindowListener 20、已知如下的命令执行 java MyTest a b c,语句是正确的。 A、 args[0] = "MyTest a b c" B、args[0] = "MyTest" C、args[0] = "a" D、args[1]= 'b' 填空题(每空格2分,共20分) 1. 创建类的对象时,使用运算符__________给对象分配内存空间。 2. 定义类的构造方法不能有返回值类型,其名称与____ _名相同。

JAVA期末考试复习试题

JAVA期末考试复习试题 JAVA期末考试复习试题 1.使用Java语言编写的源程序保存时的文件扩展名是()。(A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为()。(A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是()。(A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数()。(A)封装(B)继承(C)覆盖(D)重载5.在类的定义中构造函数的作用是()。(A)保护成员变量(B)读取类的成员变量(C)描述类的 特征(D)初始化成员变量6.下面关键字中,哪一个不 是用于异常处理语句()。(A)try (B)break (C)catch (D)finally 7.类与对象的关系是()。 (A)类是对象的`抽象(B)对象是类的抽象(C)对象 是类的子类(D)类是对象的具体实例8.下面哪一个是Java中不合法的标识符()。(A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形

式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( )。(A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接 口,下列哪个方法是正确的()。(A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为 ()(A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类 的( )方法来完成一些画图操作。(A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: (A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 14.下面哪个是非法的:(A) int I = 32; (B) float f = 45.0; (C) double d = 45.0; (D) char c = ‘u’; //符号错15.Java语言使用的字符码集是(A) ASCII (B) BCD (C) DCB (D) Unicode 16. 如果一个类的成员变量只能在

Java基础笔试机试测试题(带答案)

Java基础考试题 班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分) 1) 分析下面的Java程序段,编译运行后的输出结果是()。 public class Test { public static void changeString(StringBuffer sb) { sb.append("stringbuffer2"); } public static void main(String[] args) { StringBuffer sb = new StringBuffer("stringbuffer1"); changeString(sb); System.out.println("sb = " + sb.toString()); } } A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在Java中,包有多种用途,但不包含()。 A. 将类组合成较小的单元,便于使用 B. 有助于避免命名冲突 C. 有助于提高运行效率 D. 允许在更广的范围内保护类、数据和方法 3) 在Java中,如果要在字符串类型s="java" 中,得到字母'v' 出现的位置,选()语句。 A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v'); 4)下列代码运行后,变量 c 的值是()。 int a=15,b=10; double c=a/b; a) 1.5 b) 1.0 c) 1 d) 0 5)main 方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

java期末考试复习题及答案(1)

《Java程序设计》课程试卷 1.使用Java语言编写的源程序保存时的文件扩展名是( B )。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为( C )。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。 (A)a[0]; (B)a[]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。 (A)封装(B)继承(C)覆盖(D)重载 5.在类的定义中构造函数的作用是( D )。 (A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( B )。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是( A )。 (A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符( D )。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( C )。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 源文件和编译后的文件扩展名分别为( B ) (A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。 (A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: ( A ) (A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 14.下面哪个是非法的:( D ) (A) int I = 32; (B) float f = ; (C) double d = ; (D) char c = ‘u’;如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是( C ) (A) public (B) protected (C) private (D) static 17.下面关于main方法说明正确的是( B ) (A) public main(String args[ ]) (B) public static void main(String args[ ]) (C) private static void main(String args[ ]) (D) void main() 18.哪个关键字可以对对象加互斥锁( B ) (A) transient (B) synchronized (C) serialize (D) static 19.关于抽象方法的说法正确的是( D ) (A)可以有方法体 (B) 可以出现在非抽象类中 (C) 是没有方法体的方法(D) 抽象类中的方法都是抽象方法 包的File类是( B ) (A)字符流类(B) 字节流类 (C) 对象流类 (D) 非流类 21.Java application中的主类需包含main方法,以下哪项是main方法的正确形参( B ) A、 String args B、String args[] C、Char arg D、StringBuffer args[] 22.以下代码段执行后的输出结果为( A ) i nt x=-3; int y=-10; 、-1B、2 C、1 D、3 23.以下关于继承的叙述正确的是()。

大学java期末考试试题和标准答案

《Java程序设计基础》期终考试试卷(模拟) (闭卷) 一、简单编程题(共50分) 在考试文件夹中新建一个应用程序proj1(应用程序地文件夹名称为proj1),按照以下要求编写程序代码. 1. 在程序中定义Person类,为该类编写如下字段、构造器、访问器、修改器和相应地其他方法.(20分) (1)在Person类中定义两个字段: 私有访问权限,类型为String地name字段; 私有访问权限,类型为int地age字段. (2)在Person类中定义构造器 构造器有两个参数,第一个参数地类型是String,名字为name.第二个地类型是int,名字是age.第一个参数地值赋给字段name,第二个参数地值赋给字段age. (3)为Person类地两个字段分别编写访问器方法,方法名称分别为getName和getAge.getName方法返回类型为String地name字段地值;getAge方法返回类型为int地age字段地值. (4)为Person类地两个字段分别编写修改器方法,方法名称分别为setName和setAge.setName方法有一个String类型地参数,方法中用该参数来设置字段name地值;setAge方法有一个int类型地参数,方法中用该参数来设置字段age地值,并且保证age 字段地值不能为负数,如果要将age设置为负数则给出错误提示. (5)为Person类写一个叫做toString地方法,该方法不需要参数,有返回值.它返回一个字符串,字符串中包含name字段和age字段地值,如果name字段地值是“Helen”,age字段地值是20,则返回字符串:“Name:Helen. Age:20”. 2. 在程序中定义Student类,Student类继承Person类.(10分) (1)在Student类中除了继承其超类Person地name字段和age字段外,它还有自己地字段String类型地school,该字段地访问权限为私有. (2)Student类地构造器有三个参数,第一个参数为name,String类型;第二个参数为age,int类型;第三个参数为school,String类型,这三个参数地值分别赋给三个字段name、age和school. (3)在Student类中重写其超类Person地toString方法,要求该方法返回地字符串不仅包含超类Person中地name字段和age字段地值,而且包含子类Student中地school 字段地值.如果name字段地值是“Helen”,age字段地值是20,school字段地值是“山西大学商务学院”,则返回地字符串为“School:山西大学商务学院Name:Helen. Age:20”. 3. 在程序中定义Test类,在Test类中定义一个main方法,在main方法中实现如下操作:(10分) (1)创建一个Person类地对象,它地name为“John”,age为18,对象名为person1; (2)创建一个Student类地对象,它地name为“Helen”,age为18,school为“MIT”,对象名为stuent1; (3)分别输出这两个对象地相关信息(调用它们地toString方法). 4. 分别为Person类和Student类编写文档注释,并生成应用程序地类文档.要求如下:(10分) (1)类地文档注释,包括类名、类地作者及版本号,作者地名字用考生地姓名标注,版本号使用考试地日期; (2)构造器和各个方法地文档注释,包括方法地名称、构造器和方法地功能说明,要求标注构造器和方法中地参数及返回值,并说明参数地类型、名称和返回值地类型. (3)文档注释完成后要使用BlueJ地JavaDOC工具生成应用程序地类文档. 二、代码改错(共20分)

常见的Java上机面试题

常见的Java上机面试题 在程序员面试中,主要的考试形式分为笔试和上机编程考试两部分。笔试主要考查面试者的基础是否牢固;上机考试主要考查面试者的实际开发能力和技术技巧。 上机编程考试,要求面试者能够根据题目的要求,使用一种编程工具,编写全部代码并调试运行。这主要是考查面试者代码书写和编程的熟练程度。值得注意的是,这类面试题要求能够正确运行,往往要求面试者使用比较原始的JDK编译方式也就是使用DOS命令提示符,而不是提供Eclipse或者JBuilder等快速开发环境。本章将经常出现的上机编程题进行分类,希望能够给读者带来帮助和启示。 17.1 Java基础编程试题(1) 在上机编程类的面试题中,大部分涉及基础编程,例如算法、语法、常用的类等知识点。 面试题1 怎样截取字符串 考题题干 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出"我ABC",而不是"我ABC+汉的半个"。 试题分析 本面试题容易产生困惑的是中文字符和英文字符,在这里需要考虑汉字和英文字符的占用字节数问题,中文字符占两个字节,英文字符占一个字节,理解了这个,就很容易完成本题了。 参考答案 具体代码实现如下: 1.package core_java; 2.import java.util.Scanner; 3.public class InterceptionStr { 4.static String ss; //要进行截取操作的字符串 5.static int n; //截取的字符串的字节数 6.public static void main(String[] args) { 7. System.out.println("请输入字符串:"); 8. Scanner scStr = new Scanner(System.in); //从键盘获取字符串 9. ss = scStr.next(); // 将Scanner对象中的内容以字符串的形式取出来 10. System.out.println("请输入字节数:"); 11. Scanner scByte = new Scanner(System.in); //从键盘获取字符串 12. n = scByte.nextInt(); //将Scanner对象中的内容以数值的形式取出来

Java web期末考试题

第1页(共7页) 天津师范大学期末考核 2015—2016 学年第2学期 期末考核试卷 科目:Java Web 应用开发 学院:计信学院 专业:计算机科学 一、 单选题:(每小题2分,共10分) 1. 下列语句属于声明语句的是( A )。 A .<%! Int a = 4;%> B.<% int a=4;%> C .<%--int a=4-- %> D. <%@ int a=4%> 得分 2. 一个servlet 的生命周期不包括( B )方法? A .init( )方法 B. invalidate( )方法 C .service( )方法 D .destroy( )方法 得分 3. Application 对象的作用域是( B )。 A . 一次会话 B. 整个应用程序 C . 一次请求 D . 整个页面 得分 4. 下面对servlet 中重定向说法描述错误的是( D )。 A .使用的是HttpServletResponse 接口的sendRedirect()方法 B. 源组件的响应结果不会发送给客户端 C .sendRedirect()方法后的代码仍会执行 D .源组件和目标组件共享ServletRequest 对象

第2页(第7页) 得分 5. 有一个JavaBean 组件,类名为Student ,此JavaBean 组件的获得访问方法是getTotalScore,其功能是获得某个学生几门功课的总分,返回值保留一位小数,则以下关于getTotalScore 的声明正确的是( B )。 A .public int getTotalScore() B. public float getTotalScore() C .protected int getTotalScore() D .protected float getTotalScore() 得分 2. 3. Sevlet 过滤器核心对象放置在javax.servlet 包中,其名称为 4.

《Java程序设计》上机实验

实验 1: 熟悉上机环境,编写并运行简单的java 程序( 3 学时) 实验目的 (1)熟悉 Java 程序开发环境 J2SDK+JCreator的安装及使用 (2)熟悉 Java Application 和 Applet 程序的结构及开发步骤 (3)熟练掌握 if 语句的使用 (4)掌握 Math.sqrt()等常用数学函数的用法 (5)熟悉 System.out.print()的用法 实验内容及要求 按Java Application 和 Applet 两种方式分别编写程序,求一元二次方程 ax2+bx+c=0 的根(系数在程序中给定),并输出。 思考并验证 (1)分别给定以下几组系数,给出输出结果a=1, b=5, c=3 a=4, b=4, c=1 a=2, b=3, c=2:+ i + i (2)如果程序的 public 类的类名和源文件的文件名不一样会有什么问题? (3)将类的 public 修饰去掉是否可行?接着再将类名换为其它是否可行?这说明了什么 ? (4)将程序中 main 前面的 public 去掉,重新编译执行你的程序,你看到了什么信息? (5)将程序中 main 前面的 static 去掉,重新编译执行你的程序,你看到了什么信息?为 什么? (6)本次上机中,你还遇到了什么问题,是如何解决的? 第1 页

实验 2:控制流程1(3 学时 ) 实验目的 (1)进一步熟悉使用 if 语句 (2)掌握循环语句实现循环的方法 实验内容及要求 输出时,只使用下面的语句: System.out.print(“”); //输出一个空格,并且不换行System.out.print(“*”); //输出一个字符’*’,并且不换行System.out.print(“+”); //输出一个字符’+’,并且不换行System.out.println(“*”;) // 输出一个字符’*’,并换行 编写程序输出(注:在图形的中心处有一个加号’+’): * * * * ***** ***+*** ***** * * * * 思考并验证 下面程序片段给出了从键盘输入一个整数的方法: import java.io.*; InputStreamReader ir; BufferedReader in; ir=new InputStreamReader(System.in); in=new BufferedReader (ir); try {String s=in.readLine(); int i=Integer.parseInt(s);//转换成整形

Java上机题目及答案代码

Java上机实践三 实验题目1 假设字符串s1、s2、s3的定义如下: String s1 = “A String”; String s2 = “A String”; String s3 = s1; 请写出下列表达式的值: s1 == s2 s1 == s3 s1.length() s1.equals(s2) s1.equals(s3) https://www.doczj.com/doc/82705231.html,pareTo(s2) https://www.doczj.com/doc/82705231.html,pareTo(s3) s1.concat(s3) s1.indexOf(‘t’) https://www.doczj.com/doc/82705231.html,stIndexOf(‘t’) 实验目的 (1)熟悉字符串类String。 (2)学习创建类String的对象。 (3)学习使用类String执行字符串操作。 实验步骤 (1)按题目的要求创建String对象s1、s2,并声明对象引用s3指向s1;(2)调用String类的相关方法,执行指定操作并输出结果。 package lab1; public class Showstr { public static void main(String[] args){ String s1 ="A String"; String s2 ="A String"; String s3 = s1; System.out.println(s1 == s2); System.out.println(s1 == s3); System.out.println(s1.length()); System.out.println(s1.equals(s2)); System.out.println(s1.equals(s3)); System.out.println(https://www.doczj.com/doc/82705231.html,pareTo(s2)); System.out.println(https://www.doczj.com/doc/82705231.html,pareTo(s3)); System.out.println(s1.concat(s3));

大学JAVA期末考试试题带答案

《JA V A程序设计》期末考试试题(三 一、单项选择题 1、如下哪个是Java中的标识符(D A、public B、super C、3number D、width 2、如下哪个是Java中的标识符(A A、fieldname B、super C、3number D、#number 3、已知如下定义:String s = "story"; 下面哪个语句不是合法的( C A、s += "books"; B、s = s + 100; C、int len = s.length; D、String t = s + “abc”; 4、如下哪个是Java中有效的关键字( C A、name

B、hello C、false D、good 5、下面的代码段执行之后count的值是什么( D int count = 1; for (int i = 1; i <= 5; i++ { count += i; } System.out.println(count; A、5 B、1 C、15 D、16 6、定义一个类,必须使用的关键字是( B A、public B、class C、interface D、static 7、定义一个接口必须使用的关键字是(C

A、public B、class C、interface D、static 8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是(C A、p.add(b; B、p.add(b,"North"; C、p.add(b,"South"; D、b.add(p,"North"; 9、声明并创建一个按钮对象b,应该使用的语句是(A A、Button b=new Button(; B、button b=new button(; C、Button b=new b(; D、b.setLabel(“确定”; 10、Frame对象默认的布局管理器是(B A、FlowLayout B、BorderLayout C、CardLayout

java期末考试试题

山东师范大学成人高等教育期末考试试题 (时间:110分钟共100分) 年级:2014级专业:计算机科学与技术(高起本)考试科目:《Java技术》 试题类别: A (A/B/C) 考试形式__闭卷_(开、闭卷) 一、单项选择题(每小题1.5分,共30分) 1. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同, 传回的值也可以不相同。这种面向对象程序的特性称为()。 A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 2. 以下关于构造函数的描述错误的是()。 A、构造函数的返回类型只能是void型。 B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。 3. 下列哪些语句关于Java内存回收的说明是正确的? () A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 4. 若需要定义一个类域或类方法,应使用哪种修饰符?() A、static B、package C、private D、public 5. 有以下方法的定义,请选择该方法的返回类型()。 ReturnType method(byte x, double y){ return (short)x/y*2;} A、byte B、short C、int D、double 6. 编译运行以下程序后,关于输出结果的说明正确的是() public class Conditional{ public static void main(String args[ ]){ int x=4; System.out.print ln(“value is “+ ((x>4) ? 99.9:9));} } A.输出结果为:value is 99.9 B.输出结果为:value is 9 C.输出结果为:value is 9.0 D.编译错误 7. 执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的() A.x[9]为0 B.x[9]未定义C.x[10]为0 D.x[0]为空 8. 关于以下程序段,正确的说法是() 1 ) String s1=“a”+“b”; 2 ) String s2=new String(s1); 3 ) if(s1= =s2) 4 ) System.out.println(“= = is succeeded”); 5 ) if (s1.equals(s2)) 6 ) System.out.println(“.equals() is succeeded”); A.行4与行6都将执行B.行4执行,行6不执行 C.行6执行,行4不执行C.行4、行6都不执行 9. 以下程序的运行结果是:() public class Increment{ public static void main(String args[]){ int c; c = 2; System.out.println(c); System.out.println(c++); System.out.println(c) ;} } A.2 2 2 B.2 3 3 C.2 2 3 D.3 4 4 10. 下列哪一个关键字用于实现接口来定义类?() A、extends B、implements C、abstract D、interface 11. 设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,则表达式x+y*a/x+b/y+c的值为( )类型。 A、int B、long C、double D、char 12. 欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?() A、ArrayList myList=new Object(); B、List myList=new ArrayList(); C、ArrayList myList=new List(); D、List myList=new List(); 13. 指出正确的表达式() A、byte=128; B、Boolean=null; C、long l=0xfffL; D、double=0.9239d; 14. 指出下列程序运行的结果() public class Example{ String str=new String("good"); char[] ch = {'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+" and "); Sytem.out.print(ex.ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } }//Example结束 A、good and abc B、good and gbc C、test ok and abc D、test ok and gbc 15. 运行下列程序, 会产生什么结果() public class X extends Thread implements Runnable{ public void run(){ System.out.println("this is run()"); } public static void main(String args[]) { Thread t=new Thread(new X()); t.start(); } } //X结束 A、第一行会产生编译错误 B、第六行会产生编译错误 C、第六行会产生运行错误 D、程序会运行和启动 16. File类是IO包中唯一表示磁盘文件信息的对象,它定义了一些与平台无关的方法来操纵文件。通过调用File类提供的各种方法,我们能够创建、删除文件、重命名文件、判断文件的读写权限及是否存在,设置和查询文件的最近修改时间等。下面的代码片段实现的是什么功能?( ) File file = new File("C:\\test.dat"); if (file.exists()) { file.delete(); } A、创建C:\test.dat。 B、删除C:\test.dat。 C、打开C:\test.dat文件输出流。 D、移动C:\test.dat 17. 阅读Shape和Circle两个类的定义。在序列化一个Circle的对象circle到文件时,下面哪个字段会被保存到文件中?( ) 第1页共四页第2页共四页

相关主题
文本预览
相关文档 最新文档