欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

《Java程序设计》期末复习100题

程序员文章站 2022-03-25 10:57:17
(单选题)分析选项中关于Java中this关键字的说法正确的是()A. this关键字是在对象内部指代自身的引用B. this关键字可以在类中的任何位置使用C. this关键字和类关联,而不是和特定的对象关联D. 同一个类的不同对象共用一个this参考答案:A(单选题)下面哪个Set是根据内容排序的A. AbstractSetB. LinkedHashSetC. HashSetD. TreeSet参考答案:D(单选题)在Java的异常处理模型中,能单独和finally语句....
  1. (单选题)
    分析选项中关于Java中this关键字的说法正确的是()
    A. this关键字是在对象内部指代自身的引用
    B. this关键字可以在类中的任何位置使用
    C. this关键字和类关联,而不是和特定的对象关联
    D. 同一个类的不同对象共用一个this
    参考答案:
    A
  2. (单选题)
    下面哪个Set是根据内容排序的
    A. AbstractSet
    B. LinkedHashSet
    C. HashSet
    D. TreeSet
    参考答案:
    D
  3. (单选题)
    在Java的异常处理模型中,能单独和finally语句一起使用的块是()。
    A. try
    B. catch
    C. throw
    D. throws
    参考答案:
    A
  4. (单选题)
    在Java接口中,下列选项中有效的方法声明是()
    A. public void fn();
    B. public void fn(){ };
    C. protected void fn();
    D. private void fn();
    参考答案:
    A
  5. (单选题)
    下列选项中关于Java中super关键字的说法正确的是()。
    A. super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
    B. super关键字是在子类对象内部指代其父类对象的引用
    C. 子类通过super关键字只能调用父类的方法,而不能调用父类的属性
    D. 类通过super关键字只能调用父类的属性,而不能调用父类的方法
    参考答案:
    B
  6. (单选题)
    给的如下所示的Java代码,运行时,会产生( )类型的异常。
    String s = “bnuz”;s.substring(5,7);
    A. ArithmeticException
    B. StringIndexOutOfBoundsException
    C. NullPointerException
    D. StringNullException
    参考答案:
    B
  7. (单选题)
    在Java中,关于构造方法,下列说法错误的是()。
    A. 构造方法的名称必须与类名相同;
    B. 构造方法可以带参数;
    C. 构造方法不可以重载;
    D. 构造方法给对象分配内存
    参考答案:
    C
  8. (单选题)
    对象的特征在类中表示为变量,称为类的()。
    A. 对象
    B. 属性
    C. 方法
    D. 数据类型
    参考答案:
    B
  9. (单选题)
    下列()不属于引用数据类型。
    A. boolean
    B. 数组;
    C. 字符串;
    D. 接口;
    参考答案:
    A
  10. (单选题)
    以下程序的运行结果是()。
    public class Demo{
    public static void main(String[] args) {
    int a = 8;
    System.out.println(a);
    System.out.println(a++);
    System.out.println(a);
    }
    }

A. 888
B. 889
C. 899
D. 898
参考答案:
B
11. (单选题)
在JAVA编程中,Java编译器会将java程序转换为()
A. 字节码
B. 执行代码
C. 机器代码
D. 以上所有选项都不正确
参考答案:
A
12. (单选题)
在JAVA中,()关键字用来终止循环语句。
A. return
B. continue
C. break
D. exit
参考答案:
C
13. (单选题)
给定某java 程序的main方法如下,该程序的运行结果是()。
public static void main(String[] args){
boolean boo=false;
if(boo==false){
System.out.println(“false”);
}else{
System.out.println(“true”);
}
}

A. true
B. false
C. 1
D. 0
参考答案:
B
14. (单选题)
设 MyClass为已定义的类名,下列声明MyClass类的对象mc的语句中正确的是()。
A. public MyClass a=new MyClass ( );
B. public MyClass a=MyClass ( );
C. MyClass a=new class( );
D. a MyClass;
参考答案:
A
15. (单选题)
下列选项中,定义接口Eatable的语句正确的是 ()。
A. interface Eatable{ }
B. implements Eatable{ }
C. class Eatable{ }
D. implements interface Eatable{ }
参考答案:
A
16. (单选题)
给定java程序,如下:编译运行T.java,结果是()。
public class T{
private final int a = 123;
public static void main(String [] args){
System.out.println(a++);
}
}

A. 123
B. 124
C. 编译错误
D. 运行时出现异常
参考答案:
C
17. (单选题)
下列选项中,属于java语言的关键字的是()
A. go
B. TRUE
C. implements
D. FALSE
参考答案:
C
18. (单选题)
给定JAVA代码,如下 ,运行编译后,输出结果是( )
class P{
public void fn(){
System.out.println(17 % 3);
}
}
public class T extends P{
public void fn(int i){
System.out.println(17 / 3);
}
public static void main(String args[]){
P p = new P ()
p.fn();
}
}

A. 0
B. 5
C. 2
D. 5.6666666665
参考答案:
C
19. (单选题)
有一个类MyClass,以下为其构造函数的声明,其中正确的是()。
A. public MyClass(String s){…}
B. static MyClass (String s){…}
C. public myclass (String s){…}
D. void MyClass (String s){…}
参考答案:
A
20. (单选题)
在JAVA中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是( )
A. interface A extends B,C
B. interface A implements B,C
C. class A implements B,C
D. class A implement B,implement C
参考答案:
C
21. (单选题)
下列语句序列执行后,c的值是()。
int a = 0;
char ch =’X’;
switch( ch)
{
case ‘X’: c = 50;
case ‘Y’: c = 60;
case ‘Z’: c = 70;
default: c = 100;
}

A. 50
B. 60
C. 70
D. 100
参考答案:
D
22. (单选题)
下面选项中不能使用final修饰符修饰的是 ()。
A. 类
B. 属性
C. 方法
D. 接口
参考答案:
D
23. (单选题)
在java中,有如下代码片段:
for(int i=0; i17; i++){
if( i % 5 !=0){
continue;
}
System.out.print( i + “ ” );
if(i == 10-i){
break;
}
}

编译运行后,输出结果是()。
A. 0
B. 0 0
C. 0 5 10
D. 0 5
参考答案:
D
24. (单选题)
给定java代码,如下:
String str=null;
s.indexOf(“xy”);
运行时,会产生()类型的异常。
A. ArithmeticException
B. NullPointerException
C. IOException
D. ArrayIndexOutOfBoundsException
参考答案:
B
25. (单选题)
以下关于Java语言继承的说法正确的是( )。
A. Java中的类可以有多个直接父类
B. 抽象类不能有子类
C. Java中的接口支持多继承
D. 最终类可以作为其它类的父类
参考答案:
C
26. (单选题)
现有两个类C、D,以下描述中表示D继承自C的是( )。
A. class C extends D
B. class D implements C
C. class C implements D
D. class D extends C
参考答案:
D
27. (单选题)
在javaFx编程中,创建一个按钮需要使用组件()。
A. Pane
B. Label
C. Button
D. TextField
参考答案:
C
28. (单选题)
在某个类中存在一个方法:int fn(int x,int y),以下能作为这个方法的重载的声明的是( )。
A. public fn(float x)
B. int fn(int a,int b)
C. double fn(double x,int y)
D. int getFn(int x,int y)
参考答案:
C
29. (单选题)
下列方法定义中,正确的是()。
A. void fn( int x,int y ); { return (x * y); }
B. fn( int x,int y) { return x % y; }
C. double fn { return x; }
D. int fn( int x,int y) { return x - y; }
参考答案:
D
30. (单选题)
执行下面的语句后,c的值为( )。
String str= hello bnuz;int c=s.indexOf(‘l’);
A. 2
B. 1
C. 0
D. 3
参考答案:
A
31. (单选题)
在java中,在什么情况下类获得缺省构造方法?()
A. 类被定义时
B. 类没有其他构造方法时
C. 在类中至少定义了一个构造方法时
D. 以上皆非
参考答案:
B
32. (单选题)
现有一变量声明为boolean b;下面赋值语句中正确的是()。
A. b=true;
B. b=True;
C. b=“true”;
D. b=1;
参考答案:
A
33. (单选题)
private声明的类的方法作用范围()
A. 只可以给类本身访问
B. 只可以给同一个目录的类访问
C. 可以给所有的类访问
D. 可以给子类访问
参考答案:
A
34. (单选题)
下面的逻辑表达式中合法的是__________
A. (3+5)&&(4-3)
B. (1913)||(43)
C. 3>7&&5<100
D. (19%3)&&(2*23)
参考答案:
C
35. (单选题)
在JAVA中,如果父类中的某些方法没有方法体,并且需要由子类重写,应该使用()关键字来声明父类的这些方法.
A. final
B. static
C. abstract
D. void
参考答案:
C
36. (单选题)
给定两个java程序,如下:
public interface MyInterface{
int x = 20;
}
public class Test implements MyInterface{
private static int x;
public static void main(String[] args){
System.out.println(++x);
}
}

Test.java的编译运行结果是()。
A. 20
B. 21
C. 0
D. 1
参考答案:
D
37. (单选题)
下列哪个关键字用来定义抽象类
A. interface
B. abstract
C. extends
D. class
参考答案:
B
38. (单选题)
下列变量定义错误的是()。
A. float f=9.8
B. int a = 12
C. boolean b=true
D. double b=4.5
参考答案:
A
39. (单选题)
对于下列代码:
public class Test{
int x;
public Test (int x){ this.x = x; }
public static void main(String args[]){
Test t1, t2, t3;
t1 = new Test(5);
t2 = new Test(5);
t3 = t2;
int n = 5;
}
}

下列哪些表达式返回值为true?()
A. t1 == t2;
B. t2 == t3;
C. n == t1;
D. t1.equals(n)
参考答案:
B
40. (单选题)
在JavaFx中,为了处理鼠标点击事件,注册监听器的方法是()。
A. addOnMouseClicked
B. setOnMouseClicked
C. addMouseListener
D. setMouseListener
参考答案:
B
41. (单选题)
研究下面的Java代码:
public class Test{
public static void main(String[] args){
int a[]={10,20,30,40,50};
int sum = 0;
try{
for(int i=1;i6;i++)
sum += a[i];
System.out.println(sum= + sum);
}catch(ArrayIndexOutOfBoundsException e){
System.out.println(数组a越界);
}catch(Exception e){
System.out.println(程序有异常);
}finally{ System.out.println(程序执行结束);}

}
}

输出结果将是()。
A. 150 数组a越界 程序执行结束
B. 150 程序执行结束
C. 数组a越界 程序执行结束
D. 程序执行结束
参考答案:
C
42. (单选题)
在java 中,读取一个不存在的文件,会出现什么异常?( )
A. IOException
B. FileNotFoundException
C. NullPointerException
D. NoObjectException
参考答案:
B
43. (单选题)
接口中的成员变量被隐含地声明为
A. public final
B. public static
C. public static final
D. public abstract
参考答案:
C
44. (单选题)
下列程序运行后正确的输出结果是()。
class AA{
AA(){
System.out.print(“父类 ”);
}
}
public class BB extends AA{
BB(String str){
System.out.println(str);
}
public static void main(String[] args){
BB a = new BB(“子类”);
}
}

A. 子类
B. 父类 子类
C. 子类 父类
D. 编译错误
参考答案:
B
45. (单选题)
执行下面的语句后,a的值为( )。
String str= welcome;char a=str.charAt(1);
A. ’e’
B. ’w’
C. 'l ’
D. ‘elcome’
参考答案:
A
46. (单选题)
在Java中,在父类A中的方法method(),代码如下:
public void method(){
int a = 13;
int r = a % 3;
System.out.println®;}
在子类B中方法method()定义如下:
public void method(){
int a = 13;
System.out.println(a / 3);}
在main方法中有下面的代码,执行输出的结果是( )。
A aa = new B();
aa.method();

A. 1
B. 4.3333
C. 4
D. 3
参考答案:
C
47. (单选题)
给定Java代码片段,如下:
String str1 = new String(“bnuz”);
String str2 = new String (“bnuz”);
System.out.println(str1 == str2);运行后,这段代码将输出()。
A. true
B. false
C. 1
D. 0
参考答案:
B
48. (单选题)
在Java里,下列选项()不是实现面向对象思想的机制。
A. 封装
B. 继承
C. 多态
D. 数据型转换
参考答案:
D
49. (单选题)
以下由 for 语句构成的循环执行的次数是()。
for ( int i = 0; true ; i++) ;
A. 有语法错误,不能执行
B. 一次也不执行
C. 执行1次
D. 无限次
参考答案:
D
50. (单选题)
运行下列Java代码:
public class Test{
public static void main(String args[]){
int a = 10 ,s = 0;
do{
s += a;
}while(–a 0);
System.out.println(s);
}
}

下面选项()会出现在输出结果中。

A. 53
B. 54
C. 55
D. 56
参考答案:
C
51. (单选题)
switch(x){
case 10:
System.out.print(“10 ”);
case 20:
System.out.println(“20 ”);break;
case 30:
System.out.println(“30”);break;
}

假如X的值为10,程序输出的结果是( )。
A. 10 20
B. 10
C. 10 20 30
D. 30
参考答案:
A
52. (单选题)
下列哪行代码将输出整数7?
1: public class Main{
2: public static void main(String args[]){
3: double x=6.5;
4: System.out.println(Math.floor(x+1));
5: System.out.println(Math.ceil(x));
6: System.out.println(Math.round(x));
7: }
8: }

A. 第4行
B. 第4行和第5行
C. 第6行
D. 第4、5、6行
参考答案:
C
53. (单选题)
给定下列代码,则下列选项中能够正确编译的是哪一个?
abstract class Shape{
int x;
int y;
public abtract void draw();
}

A. abstract class Circle implements Shape{ private int radius; }
B. abstract class Circle extends Shape{ private int radius; }
C. class Circle extends Shape{ private int radius; public void draw(); }
D. class Circle implements Shape{ private int radius; public void draw(); }
参考答案:
B
54. (单选题)
给定以下代码,请问下列选项中哪个是正确的?
public interface Top{
void twiddle(String s);
}

A. public abstract class Sub implements Top{ public abstract void twiddle(String s){ }
B. public class Sub implements Top{ public void twiddle(Integer i){ } }
C. public class Sub implements Top{ void twiddle(String s){ } }
D. public class Sub implements Top{ public void twiddle(String s){ } public void twiddle(Integer i){ } }
参考答案:
D
55. (单选题)
当编译运行下列代码时,运行结果是什么?
public class Main{
int arr[]=new int[10];
public static void main(String args[]){
System.out.println(arr[1]);
}
}

A. 编译错误
B. 编译正确,但运行时出现异常
C. 输出0
D. 输出null
参考答案:
A
56. (主观题)
编写一个程序,包括两个TextField和一个Button。当单击按钮时,可以把一个文本框中的内容复制到另一个文本框中。要求用JavaFx组件实现。界面如下图所示:

参考答案:

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Main extends JFrame {
private JTextArea text1 = null;
private JTextArea text2 = null;
private JButton copyButton = null;
public Main() {
baisuper("测试");
init();
JPanel pane = new JPanel(null);
getContentPane().add(pane);
JScrollPane s1 = new JScrollPane(text1);
JScrollPane s2 = new JScrollPane(text2);
pane.add(s1);
pane.add(s2);
s1.setBounds(10, 10, 200, 300);//横坐标纵坐标长宽
s2.setBounds(260, 10, 200, 300);
getContentPane().add(copyButton, BorderLayout.SOUTH);//获取内容面板,因为JFrame不能直接添加组件,需要用getContentPane()函数获取内容面板,再在内容面板上进行添加组件
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(480, 380);
setLocationRelativeTo(null);
setVisible(true);
}
/**
* 初始化组件对象
*/
private void init(){
text1 = new JTextArea();
text2 = new JTextArea();
copyButton = new JButton("复制");
copyButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
copy();
}
});
}
private void copy(){
text2.setText(text1.getText());
}
public static void main(String[] args) {
new Main();
}
}

  1. (主观题)
    编写程序,创建一个如下图所示的用户界面,其上共有6个按钮,点击按钮“Button 1”时显示消息“button 2 has been clicked”,点击按钮“Button 2”时显示消息“button 2 has been clicked”,点击按钮“Button 3”时显示消息“button 3 has been clicked”,以此类推…

参考答案:

package fourteen;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class Exercise14_3 extends JFrame{
      private JButton jbtbutton1 = new JButton("Button 1");
 private JButton jbtbutton2 = new JButton("Button 2");
 private JButton jbtbutton3 = new JButton("Button 3");
 private JButton jbtbutton4 = new JButton("Button 4");
 private JButton jbtbutton5= new JButton("Button 5");
 private JButton jbtbutton6 = new JButton("Button 6");
       JPanel p = new JPanel();
      private JLabel lab = new JLabel();
    public Exercise14_3() {
        p.setLayout(new FlowLayout());
        p.add(jbtbutton1);
        p.add(jbtbutton2);  
p.add(jbtbutton3);  
p.add(jbtbutton4);    
 p.add(jbtbutton5);    
 p.add(jbtbutton6);    
        p.add(lab);
        jbtbutton1.setToolTipText("this is OK button1");//鼠标短暂停留在按钮时显示文本
        jbtbutton2.setToolTipText("this is OK button2");
  jbtbutton3.setToolTipText("this is OK button3");
      jbtbutton4.setToolTipText("this is OK button4");
      jbtbutton5.setToolTipText("this is OK button5");
      jbtbutton6.setToolTipText("this is OK button6");

        add(p);
        lab.setHorizontalAlignment(JLabel.CENTER);//文本左右对齐、居中对其方法
         jbtbutton1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                lab.setText("button1 has been clicked");
            }
        });
     Jbtbutton2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                lab.setText("button2 has been clicked");
            }
        });     
Jbtbutton3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                lab.setText("button3 has been clicked");
            }
        });
          Jbtbutton4.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                lab.setText("button4 has been clicked");
            }
        });
          Jbtbutton5.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                lab.setText("button5 has been clicked");
            }
        });
         Jbtbutton6.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                lab.setText("button6 has been clicked");
            }
        });
    }
    public static void main(String[] args) {
        Exercise14_3 frame = new Exercise14_3();
        frame.setTitle("Exercise14_3");//设置窗体标题
        frame.setSize(300,200);
        frame.setLocationRelativeTo(null);//设置窗口相对于指定组件的位置。如果组件当前未显示或者 c 为 null,则此窗口将置于屏幕的*。
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);//设置为可见
    } 
}

  1. (主观题)
    当编译并运行下列代码时,其运行结果是什么?
    public class Main{
    public static void main(String args[]){
    certkiller(four);
    certkiller(tee);
    certkiller(to);
    }
    public static void certkiller(String str){
    int check=4;
    if(check==str.length())
    System.out.print(str.charAt(check-=1));
    else
    System.out.print(str.charAt(0));
    }
    }

参考答案:
rtt

  1. (主观题)
    当编译并运行下列代码时,其运行结果是什么?
    public class Main{
    public static void main(String args[]){
    String s=Java;
    StringBuffer sb=new StringBuffer(Java);
    change(s);
    change(sb);
    System.out.println(s+sb);
    }
    public static void change(String s){
    s=s.concat(Hello);
    }
    public static void change(StringBuffer sb){
    sb.append(Hello);
    }
    }

参考答案:
JavaJavaHello

  1. (填空题) 如果一个方法只有方法的声明,而没有方法的实现,则称为 _________ 。
    参考答案:
    抽象方法|abstract方法

  2. (填空题) 异常处理try-catch-finally语句中,是用 _________ 语句块来捕获和处理异常。
    参考答案:
    catch

  3. (主观题)
    读程序,写出程序运行结果
    public class Test {

    public static void main(String[ ] args) {
    int i=0;
    while (i–0){
    System.out.print(The value of i is +i);
    }
    System.out.print(The end);
    }
    }

参考答案:
The end

  1. (主观题)
    在一大堆数据中找出重复的是一件经常要做的事情。现在,我们要处理许多整数,在这些整数中,可能存在重复的数据。
    你要写一个程序来做这件事情,读入数据,检查是否有重复的数据。如果有,输出“YES”这三个字母;如果没有,则输出“NO”。输入格式:
    你的程序首先会读到一个正整数n,1=n=100000。然后是n个整数。输出格式:
    如果这些整数中存在重复的,就输出:
    YES

否则,就输出:
NO
输入样例:
5
1 2 3 1 4
输出样例:
YES

参考答案:

  1. (主观题)
    定义一个贷款类Loan,其中有属性:
    annualInterestRate:double,表示贷款的年利率(默认值:2.5)
    numberOfYears:int,表示贷款的年数(默认值:1)
    loanAmount:double,表示贷款额(默认值:100)
    loanDate:java.util.Date,表示创建贷款的日期
    定义方法:
    (1)默认的无参构造方法
    (2)带指定利率、年数和贷款额的构造方法
    (3)所有属性的get/set方法
    (4)返回这笔贷款的月支付额getMonthlyPayment()
    月支付额 = (贷款额度月利率)/(1-(1/Math.pow(1+月利率,年数12)))
    (5)返回这笔贷款的总支付额getTotalPayment()
    总支付额度 = 月支付额度年数12
    附上如下的测试类。
    public class Main{
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    while (input.hasNext()) {
    double AIR = input.nextDouble();
    int NOY = input.nextInt();
    double LA = input.nextDouble();
    try {
    Loan m = new Loan(AIR, NOY, LA);
    System.out.printf(%.3f\n,m.getTotalPayment());
    } catch (Exception ex) {
    System.out.println(ex);
    }
    }

}
}

输入格式:
输入有多组数据,一个实数表示年利率,一个整数表示年数,一个实数表示贷款总额。
输出格式:
若任意一项小于或等于零,抛出IllegalArgumentException异常及相应描述(Number of years must be positive或Annual interest rate must be positive或Loan amount must be positive);有多项不符合,以不符合最前项为准;
若均符合要求,按照格式输出总额。
输入样例:
在这里给出一组输入。例如:
1 1 1000 2.0 0 2000 0 0 0
输出样例:
在这里给出相应的输出。例如:
1005.425 java.lang.IllegalArgumentException: Number of years must be positive java.lang.IllegalArgumentException: Annual interest rate must be positive

参考答案:

import java.util.*;
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		while(true) {
			double air=in.nextDouble();
			int noy=in.nextInt();
			double la=in.nextDouble();
			if(air<=0) {
				System.out.println("java.lang.IllegalArgumentException: Annual interest rate must be positive");
				continue;
			}
			if(noy<=0) {
				System.out.println("java.lang.IllegalArgumentException: Number of years must be positive");
				continue;
			}
			if(la<=0) {
				System.out.println("java.lang.IllegalArgumentException: Loan amount must be positive");
			}
			System.out.printf("%.3f\n",la*12*noy*(air/1200)/(1-(1/Math.pow(1+air/1200,12*noy))));	
		}
	}
}



  1. (主观题)
    定义一个USB接口,并通过Mouse和U盘类实现它,具体要求是:
    1.接口名字为USB,里面包括两个抽象方法:
    void work();描述可以工作
    void stop(); 描述停止工作
    2.完成类Mouse,实现接口USB,实现两个方法:
    work方法输出“我点点点”;
    stop方法输出 “我不能点了”;
    3.完成类UPan,实现接口USB,实现两个方法:
    work方法输出“我存存存”;
    stop方法输出 “我走了”;

4.测试类Main中,main方法中
定义接口变量usb1 ,存放鼠标对象,然后调用work和stop方法
定义接口数组usbs,包含两个元素,第0个元素存放一个Upan对象,第1个元素存放Mouse对象,循环数组,对每一个元素都调用work和stop方法。输出样例:

我点点点
我不能点了
我存存存
我走了
我点点点
我不能点了

参考答案:

  1. (主观题)设计一个名为Time 的类。这个类包含:表示时间的数据域hour、minute 和second。一个以当前时间创建Time 对象的无参构造方法(数据域的值表示当前时间)。一个构造Time 对象的构造方法,这个对象有一个特定的时间值,这个值是以毫秒表示的、从1970 年1 月丨日午夜开始现在流逝的时间段(数据域的值表示这个时间)。一个构造带特定的小时、分钟和秒的Time 对象的构造方法。三个数据域hour、minute 和second 各自的get 方法。— 个名为setTime(long elapseTime)的方法使用流逝的时间给对象设置一个新时间。例如,如果流逝的时间为 555550000 毫秒,則转换为 10 小时、 10 分钟、 10 秒。编写一个测试程序,创建两个 Time 对象(使用 new Time() 和 new Time( 555550000)), 然后显示它们的小时、分钟和秒.输入格式:
    输入毫秒
    输出格式:
    按照小时、分钟、秒显示
    输入样例:
    在这里给出一组输入。例如:
    555550000
    输出样例:
    在这里给出相应的输出。例如:
    Hour: 10 Minute: 19 Second: 10

参考答案:

import javax.xml.crypto.dsig.spec.XSLTTransformParameterSpec;

public class test {
    public static void main(String[] args) {
        Time time1=new Time();
        Time time2=new Time(555550000);
        Time time3=new Time(3,80,3700);
        System.out.println(time1.toString());
        System.out.println(time2.toString());
        System.out.println(time3.toString());
    }
}
class Time{
    private long hour,minute,second;
    public Time(){
        setTime(System.currentTimeMillis());
    }
    public Time(long elapsedTime){
        setTime(elapsedTime);
    }
    public Time(long hour,long minute,long second){
        this.second=second%60;
        this.minute=(second/60+minute)%60;
        this.hour=(second/60+minute/60+hour)%60;
    }
    public void setTime(long elapsedTime){
        long totalSeconds = elapsedTime / 1000;
        second = (long)(totalSeconds % 60);
        long totalMinutes = totalSeconds / 60;
        minute = (long)(totalMinutes % 60);
        long totalHours = (int)(totalMinutes / 60);
        hour = (long)(totalHours % 24);
    }
    public void setTime(int hour,int minute,int second){
        this.hour=hour;
        this.minute=minute;
        this.second=second;
    }

    @Override
    public String toString() {
        return "Hour: " + this.hour + " Minute: " +  this.minute + " Second: " + this.second;
    }

}
  

  1. (主观题)
    求矩阵A+B的结果,程序给出部分代码,请在原来代码基础上填写完整,完成整个程序。
    import java.util.Scanner;
    //矩阵相加 C = A + B //写出方法调用
    public class Main {
    public static Scanner scan = new Scanner(System.in);
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int m = scan.nextInt();//矩阵的行
    int n = scan.nextInt();//矩阵的列
    //创建二维数组a 行m,列n

            //调用方法 为a输入数据
    
            //创建二维数组b 行m,列n 
    
           //调用方法,为b输入数据
    
            //调用方法 求 a+b
    
    
            //输出结果
    
        }
        public static void inputData(int[][] arr){
            for(int i =0;iarr.length;i++)
                for(int j=0;jarr[i].length;j++)
                    arr[i][j] =scan.nextInt();
        }
        public static int[][] addMatrix(int[][]arr1,int[][]arr2){
            int [][] c = new int[arr1.length][arr1[0].length];
            for(int i =0;iarr1.length;i++)
                for(int j =0;jarr1[i].length;j++)
                    c[i][j] = arr1[i][j] + arr2[i][j];
            return c;
        }
        public static void showResult(int[][] arr){
            for(int i =0;iarr.length;i++){
                for(int j =0;jarr[i].length;j++)
                    System.out.print( +arr[i][j]);
                System.out.println();
            }
        }
    
        }
    

输入格式:
第一行通过键盘输入矩阵的行数和列数 第二行通过键盘输入矩阵A的元素,中间用空格隔开 第三行通过键盘输入矩阵B的元素 ,中间用空格隔开
输出格式:
输出矩阵相加的结果,每一行输出矩阵一行,每一个元素前面有一个空格
输入样例:
在这里给出一组输入。例如:
2 3 1 2 3 4 5 6 2 3 4 5 6 7
输出样例:
在这里给出相应的输出。例如:
3 5 7 9 11 13

参考答案:

  1. (主观题)
    实现一个名为People的类和它的子类Emp,Emp有两个子类Faculty和Teacher。
    各类实例变量描述如下:
    (1)People类中的属性有:姓名name(String类型),地址addr(String类型),电话号码tel(String类型)和电子邮件地址email(String类型);
    (2)Emp类中的属性有:办公室office(String类型),工资wage(double类型),受雇日期hiredate(java.util.Date类型);
    (3)Faculty类中的属性有:职务称号duty(String类型);
    (4)Teacher类中的属性有:学历degree(String类型),职称jobTitle(String类型);
    画出People、Emp、Faculty和Teacher类的UML类图。
    实现People、Emp、Faculty和Teacher类,每个类均有2个构造方法,其中1个不带任何参数,另一个是带参数的构造方法,用于初始化各类的实例变量;各类均需要提供每个实例变量的访问器和修改器。
    在main方法中,提示用户输入姓名、地址、电话号码、电子邮件、办公室、工资、职务信息,创建一个Faculty对象,并输出Faculty对象的姓名、地址、电话号码、电子邮件、办公室、工资、职务信息。提示用户输入姓名、地址、电话号码、电子邮件、办公室、工资、学历、职称信息,创建一个Teacher对象,并输出Teacher对象的姓名、地址、电话号码、电子邮件、办公室、工资、学历、职称信息。
    参考答案:
package zuoye;
 
public class People {
	//属性
	public String name;//姓名
	public String address;//地址
	public String telphone;//电话
	public String email;//邮箱
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getTelphone() {
		return telphone;
	}
	public void setTelphone(String telphone) {
		this.telphone = telphone;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	
	
}

package zuoye;
 
public class Emp extends People{
	public String office;//办公室
	public double wage;//工资
	public String hiredate;//受雇日期
	public String getOffice() {
		return office;
	}
	public void setOffice(String office) {
		this.office = office;
	}
	public double getWage() {
		return wage;
	}
	public void setWage(double wage) {
		this.wage = wage;
	}
	public String getHiredate() {
		return hiredate;
	}
	public void setHiredate(String hiredate) {
		this.hiredate = hiredate;
	}
	
	
}

package zuoye;
 
public class Faculty extends Emp{
 
	public String duty;
 
	public String getDuty() {
		return duty;
	}
 
	public void setDuty(String duty) {
		this.duty = duty;
	}
	
	
}

package zuoye;
 
public class Teacher extends Emp {
	public String degree;//学位
	public String jobTitle;//级别
	
	public String getDegree() {
		return degree;
	}
	public void setDegree(String degree) {
		this.degree = degree;
	}
	public String getJobTitle() {
		return jobTitle;
	}
	public void setLevel(String level) {
		This.jobTitle = jobTitle;
	}
	
	
	
}

package zuoye;
 
public class Ceshi_people {
 
	public static void main(String[] args) {
	//测试
		People p=new People();
		p.setName("张三");
		p.setAddress("x省x市x区123号");
		p.setEmail("510652434@qq,com");
		p.setTelphone("189xxxx6492");
		System.out.println("姓名是:"+p.getName()+"地址是:"+p.getAddress()+"电话:"+p.getTelphone()+"邮箱:"+p.getEmail());
		
		Employee e=new Employee();
		e.setOffice("A座407");
		e.setWage(5000.0);
		e.setHiredate("16.08.16");
		System.out.println("信息是:姓名是:"+p.getName()+"地址是:"+p.getAddress()+"电话:"+p.getTelphone()+"邮箱:"+p.getEmail()+"办公室:"+e.getOffice());
	}
 
}


  1. (主观题)
    读程序,写出程序运行结果:
    class A{
    public A(){
    System.out.print(“A类无参构造方法 ”);
    }}
    class B extends A{
    public B(){
    System.out.print(“B类无参构造方法”);
    }}
    public class C{
    public static void main(String[] args){
    B b = new B();
    }
    }

参考答案:
A类无参构造方法 B类无参构造方法

  1. (主观题)
    读程序,写出程序运行结果:
    public class Demo4{
    public static void main(String[] args){
    String str = new String(welcome to China);
    for(int i = 0; istr.length(); i += 2){
    System.out.print(str.charAt(i));
    } } }

参考答案:
wloet hn

  1. (主观题)
    读程序,写出程序运行结果:
    public class Demo3{
    public static void main(String[] args){
    int a = 54;
    int b = 3;
    System.out.print( a * b + 10 / 3);
    }
    }

参考答案:
165

  1. (主观题)
    读程序,写出程序运行结果:
    public class Demo2{
    public static void main(String[] args){
    try{
    int a = 0;
    int b = 1234 / a;
    System.out.println(b);
    }catch(Exception e){
    System.out.print(throw exception );
    }finally{
    System.out.print(end);
    }
    }
    }

参考答案:
throw exception end

  1. (主观题)
    编写一个程序,运行结果如下图所示.

参考答案:

public class Fan {
    static final int SLOW = 1;//三个名为SLOW,MEDIUM,FAST而值为1,2,3的常量,表示风扇的速度。
    static final int MEDIUM = 2;
    static final int FAST = 3;
    private int speed = SLOW;//一个名为speed的int类型私有数据域,表示风扇的速度(默认值是SLOW)
    private boolean on = false;//一个名为on的boolean类型私有数据域,表示风扇是否打开(默认值是false)
    private double radius = 5;//一个名为radius的double类型私有数据域,表示风扇的半径(默认值是5)
    String color = "blue";//一个名为color的string类型数据域,表示风扇的颜色(默认值是blue)

    public Fan() {//构造方法

    }

    public int getSpeed() {//访问器方法,返回速度

        return speed;
    }

    public void setSpeed(int speed) {//修改器方法,修改速度
        if (on)
        this.speed = speed;

    }

    public boolean getOn() {//访问器方法,返回风扇是否打开的状态
        return on;
    }

    public void setOn(boolean on) {//修改器方法,打开风扇
        this.on = on;
    }

    public double getRadius() {//访问器方法返回风扇半径
        return radius;
    }

    public void setRadius(double radius) {//修改器方法修改风扇半径
        if (on)
        this.radius = radius;
    }

    public String getColor() {//访问器方法返回风扇的颜色
        return color;
    }

    public void setColor(String color) {//修改器方法修改风扇的颜色
        if (on)
        this.color = color;
    }

    public String toString() {//toString方法返回描述风扇的字符串
        if (on ) {//如果风扇打开,该方法在一个字符串中返回风扇的速度,颜色,半径
            return speed + " " + color + " " + radius;
        } else//如果风扇关闭,该方法就会返回一个有“fan is off”和风扇颜色及半径组成的字符串
            return "fan is off" +" " +color + " "+radius;
    }

}

public class Test {
    public static void main(String[] args) {
        Fan fan = new Fan();//创建两个Fan对象
        Fan fan1 = new Fan();

        fan.setOn(true);
        fan.setSpeed(Fan.FAST);//将第一个对象设置成最大速度,半径为10,颜色为yellow,状态为打开
        fan.setRadius(10);
        fan.setColor("yellow");


        System.out.println(fan.toString());

        fan1.setOn(false);
        fan1.setSpeed(Fan.MEDIUM);//将第二个对象设置成中等速度,半径为5,颜色8,状态为关闭
        fan1.setRadius(8);
        fan1.setColor("red");


        System.out.println(fan1.toString());

  1. (主观题)
    定义一个抽象类,名称为GeometricObject,此类有3个私有实例变量,分别是字符串类型的color,boolean类型的filled,以及java.util.Date类型的dateCreated,除了构造方法、修改器方法和访问器方法外还包含2个抽象方法:getArea()和getPerimeter()。
    定义一个扩展自GeometricObject的新的类Circle,Circle类有1个私有的double类型变量radius,以及相应的修改器和访问器,重写GeometricObject类中的getArea方法,计算圆的面积;重写GeometricObject类中的getPerimeter方法,计算圆的周长。
    定义一个扩展自GeometricObject的新的类Rectangle,继承自GeometricObject类,具有double类型的width、和height2个私有变量及它们的修改器和访问器,重写GeometricObject类中的getArea方法,计算矩形的面积;重写GeometricObject类中的getPerimeter方法,计算矩形的周长。
    绘制GeometricObject类、Circle类和Rectangle类的UML图,并实现这3个类。
    编写一个测试程序,提示用户输入圆的半径,一种颜色以及一个表明该圆是否填充的布尔值。程序根据用户的输入,使用输入的半径、颜色、是否填充的信息,创建一个Circle对象,并显示圆的面积、周长、颜色以及是否填充。提示用户输入矩形的宽和高,一种颜色以及一个表明该矩形是否填充的布尔值。程序根据用户的输入,使用这些宽、高、颜色、是否填充信息,创建一个Rectangle对象,并显示矩形的面积、周长、颜色以及是否填充。
    参考答案:
package TestAbstract;

import java.util.Scanner;

abstract class GeometricObject {
	private String color = "white";
	private boolean filled = false;
	public GeometricObject() {
	}
	public GeometricObject(String color, boolean filled) {
		this.color = color;
		this.filled = filled;
	}
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
	public boolean getFilled() {
		return filled;
	}
	public void setFilled(boolean filled) {
		this.filled = filled;
	}
	public abstract double getArea();
	public abstract double getPerimeter();
}

class Rectangle extends GeometricObject{
	private double width = 5.0;
	private double height = 4.0;
	public Rectangle() {
		this.width = 5.0;
		this.height = 4.0;
	}
	public Rectangle(double width, double height, String color, boolean filled) {
		super(color, filled);
		this.width = width;
		this.height = height;
	}
	public double getWidth() {
		return width;
	}
	public void setWidth(double width) {
		this.width = width;
	}
	public double getHeight() {
		return height;
	}
	public void setHeight(double height) {
		this.height = height;
	}
	public double getArea() {
		return width * height;
	}
	public double getPerimeter() {
		return 2 * (width + height);
	}
}

class Triangle extends GeometricObject{
	private double side1 = 1.0;
	private double side2 = 1.0;
	private double side3 = 1.0;
	public Triangle() {
		this.side1 = 1.0;
		this.side2 = 1.0;
		this.side3 = 1.0;
	}
	public Triangle(String color, boolean filled, double side1, double side2, double side3) {
		super(color,filled);
		this.side1 = side1;
		this.side2 = side2;
		this.side3 = side3;
	}
	public double getSide1() {
		return side1;
	}
	public void setSide1(double side1) {
		this.side1 = side1;
	}
	public double getSide2() {
		return side2;
	}
	public void setSide2(double side2) {
		this.side2 = side2;
	}
	public double getSide3() {
		return side3;
	}
	public void setSide3(double side3) {
		this.side3 = side3;
	}
	public double getArea() {
		double s = (side1 + side2 + side3) / 2;
		return Math.sqrt(s* (s- side1) * (s - side2) * (s - side3));
	}
	public double getPerimeter() {
		return side1 + side2 + side3;
	}
}

public class TestAbstract {
	public void display(GeometricObject gb) {
			System.out.println("      周长为:" + gb.getPerimeter());//加空格的原因是为了好看,可以不加,下同
			System.out.println("      面积为:" + gb.getArea());
			System.out.println("      颜色为:" + gb.getColor());
			System.out.println("      是否填充:" + gb.getFilled());
		}
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		Triangle t = new Triangle();
		System.out.println("请分别输入三角形的三条边、颜色、是否填充:");
		t.setSide1(input.nextDouble());
		t.setSide2(input.nextDouble());
		t.setSide3(input.nextDouble());
		t.setColor(input.next());
		t.setFilled(input.nextBoolean());
		while((t.getSide1() + t.getSide2()) <= t.getSide3() || (t.getSide1() + t.getSide3()) <= t.getSide2() 
				||(t.getSide2() + t.getSide3()) <= t.getSide1()) {
			System.out.println("三角形边长输入错误,请重新输入!" + '\n' + "请分别输入三角形的三条边:");
			t.setSide1(input.nextDouble());
			t.setSide2(input.nextDouble());
			t.setSide3(input.nextDouble());
		}
		Rectangle r = new Rectangle();
		System.out.println("请分别输入矩形的边长、颜色、是否填充:");
		r.setWidth(input.nextDouble());
		r.setHeight(input.nextDouble());
		r.setColor(input.next());
		r.setFilled(input.nextBoolean());
		System.out.println('\n' + "三角形的信息:");//加\n的原因还是为了好看(#^.^#),下同
		TestAbstract tr = new TestAbstract();
		tr.display(t);
		System.out.println('\n' + "矩形的信息:");
		TestAbstract re = new TestAbstract();
		re.display(r);
	}
}



  1. (主观题)读程序,写出程序运行结果:
    class Base {
    public void fn() {
    System.out.println(Base fn);
    }
    }
    public class SubClass extends Base {
    public void fn() {
    System.out.print(SubClass fn);
    }
    public static void main(String[] args) {
    new SubClass().fn();
    }
    }

参考答案:
SubClass fn

  1. (主观题)
    读程序,写出程序运行结果
    public class T4{
    public static void main(String[] args){
    String str = new String(I love bnuz for ever);
    for(int i = 0; istr.length(); i+=3){
    System.out.print(str.charAt(i));
    }
    }
    }

参考答案:
Io uf e

  1. (主观题)
    读程序,写出程序运行结果
    public class T2{
    public static void main(String[] args){
    int a = 11; char ch = x;
    switch(score % 10){
    case 1 :
    case 2: ch = a;
    case 3: ch = b;
    case 4: ch = c; break;
    case 5: ch = d;
    }
    System.out.print(ch);
    }
    }

参考答案:
c

  1. (主观题)
    本题要求在列表中存储动物,包括鸟和狗,请写代码完成下列内容:
    1.定义抽象类Animal,包含私有属性name和age,为其完成setter、getter,带参构造方法,以及toString方法
    2.定义子类Bird继承Animal,完成带参构造方法,重写toString方法。
    3.定义子类Dog继承Animal,添加属性leg,为其完成setter,getter,完成带参构造方法,重写toString方法
    4.在Main类的main方法中,定义列表list,在列表中规定只能放Dog和Bird,完成下列操作:
    1.输入整数n,表示向列表中加入的对象的个数,然后向list中加入n个Animal 。
    2.在加入每一个对象之前,若输入整数1,表示加入Dog对象,输入其他整数,加入Bird对象,然后通过键盘输入相关属性,创建对应对象,加入list中。
    3.一次输出所有的list对象
    4.键盘输入一个name,然后判断在列表中是否存在对象属性name与此相同,如果相同,输出其对象的类名,并输出对象的信息, 如果不存在对象name与键盘输入相同,显示“no this one

输入格式:
请在这里写输入格式。例如:输入在一行中给出2个绝对值不超过1000的整数A和B。

输出格式:
请在这里描述输出格式。例如:对每一组输入,在一行中输出A+B的值。

输入样例:
在这里给出一组输入。例如:

4
1
tom 3 3
2
bir 2
1
may 3 5
2
baby 3
may
3
1
tom 3 2
2
may 4
1
jerry 3 1
tina
输出样例:
在这里给出相应的输出。例如:

[Dog[leg=3, name=tom, age=3], Bird[name=bir, age=2], Dog[leg=5, name=may, age=3], Bird[name=baby, age=3]]
Dog
Dog[leg=5, name=may, age=3]
[Dog[leg=2, name=tom, age=3], Bird[name=may, age=4], Dog[leg=1, name=jerry, age=3]]
no this one
参考答案:

  1. (多选题)
    下列有关匿名对象的说法,正确的有:

A. 匿名对象只能继承一个类或实现一个接口
B. 匿名对象可以有构造函数
C. 匿名对象不能被重复构造
D. 每个匿名对象都具有独一无二的类型
参考答案:
A, C, D
80. (多选题)
对于如下的代码片段,执行
b.func()
之后,值为27的表达式有
class A {
int i, j;
public void fun() {
i++;
j++;
}
}

        class B extends A {
            static int j;
            public void func() {
                int j = 2;
                for (i = 0; i  10; i++) {
                    j += 3;
                    fun();
                }
                if (j  30) {
                    super.j = j;
                } else {
                    /**/ B.j = j;
                }
            }
        }
        class Main {
            public static void main(String[] args) throws Exception {
                B b = new B();
                A a = b; b.func();
            }
        }

A. b.i + b.j
B. ((A)b).i + ((A)b).j;
C. a.i + a.j
D. b.i + a.j
参考答案:
B, C, D
81. (主观题)
编写程序,显示从100到1000之间所有能被5和6整除的数,每行显示10个。数字之间用一个空格字符隔开。
参考答案:

public class Test {   
  public static void main(String[] args) {
    int count = 0; 	  
    for(int i = 100;i= 1000;i++) {
      if(i % 5 == 0  i % 6 == 0) {
        System.out.print(i +  );
        count++; 		  
      } 		  
      if(count == 10) { 			
        System.out.println(); 		
        count = 0; 		  
      } 	  
    }      
  } 
}	
  1. (判断题)
    抽象类是不能实例化的。
    A. 正确
    B. 错误
    参考答案:
    正确

  2. (判断题)
    子类和父类必须在一个包中。
    A. 正确
    B. 错误
    参考答案:
    错误

  3. (主观题)
    读程序,写出程序运行结果
    public class T3{
    public static void main(String[] args){
    System.out.print (3 + 3 + 3 + 3 + (3 + 3));
    }
    }

参考答案:
6336

  1. (主观题)
    写出程序运行的结果
    public class T1{
    int a = 1000;
    public static void main(String[] args){
    int a = 10;
    System.out.print(a);
    }
    }

参考答案:
10

  1. (单选题)
    以下关于Java语言继承的说法正确的是( )。
    A. Java中的类可以有多个直接父类
    B. 抽象类不能有子类
    C. Java中的接口支持多继承
    D. 最终类可以作为其它类的父类
    参考答案:
    C
  2. (单选题)
    以下关于Java语言继承的说法正确的是( )。
    A. Java中的类可以有多个直接父类
    B. 抽象类不能有子类
    C. Java中的接口支持多继承
    D. 最终类可以作为其它类的父类
    参考答案:
    C
  3. (单选题)
    以下关于Java语言继承的说法正确的是( )。
    A. Java中的类可以有多个直接父类
    B. 抽象类不能有子类
    C. Java中的接口支持多继承
    D. 最终类可以作为其它类的父类
    参考答案:
    C
  4. (单选题)
    以下关于Java语言继承的说法正确的是( )。
    A. Java中的类可以有多个直接父类
    B. 抽象类不能有子类
    C. Java中的接口支持多继承
    D. 最终类可以作为其它类的父类
    参考答案:
    C
  5. (单选题)
    以下关于Java语言继承的说法正确的是( )。
    A. Java中的类可以有多个直接父类
    B. 抽象类不能有子类
    C. Java中的接口支持多继承
    D. 最终类可以作为其它类的父类
    参考答案:
    C
  6. (多选题)
    根据下面的代码,String s = null;会抛出NullPointerException异常的有
    A. if( (s!=null) & (s.length()>0) )
    B. if( (s!=null) & & (s.length()>0) )
    C. if( (s==null) | (s.length()==0) )
    D. if( (s==null) || (s.length()==0) )
    参考答案:
    A, C
  7. (多选题)
    接口和抽象类描述正确的有
    A. 抽象类没有构造函数
    B. 接口没有构造函数
    C. 抽象类不允许多继承
    D. 接口中的方法可以有方法体
    参考答案:
    B, C
  8. (多选题)
    以下关于final关键字说法错误的是
    A. final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性
    B. final修饰的类肯定不能被继承
    C. final修饰的方法不能被重载
    D. final修饰的变量不允许被再次赋值
    参考答案:
    A, C
  9. (多选题)
    以下可以正确获取结果集的有

A. Statement sta=con.createStatement(); ResultSet rst=sta.executeQuery(“select * from book”);
B. Statement sta=con.createStatement(“select * from book”); ResultSet rst=sta.executeQuery();
C. PreparedStatement pst=con.preparedStatement(); ResultSet rst=pst.executeQuery(“select * from book”);
D. PreparedStatement pst=con.preparedStatement(“select * from book”); ResultSet rst=pst.executeQuery();
参考答案:
A, D
95. (填空题)若变量s为int型, 且其值大于0, 则表达式s%2+(s+1)%2的值为 _________ .
参考答案:
1

  1. (填空题)CPU 内用于暂存指令、数据和地址的高速存储部件,称为 _________ 。
    参考答案:
    寄存器

  2. (单选题)
    什么是裸机?
    ▁▁▁▁▁ 的计算机称为裸机。
    A. 没有机箱
    B. 没有外部设备
    C. 没有软件系统
    D. 没有应用软件
    参考答案:
    C

  3. (单选题)
    已知代码如下:

        上述代码结果是(      )。
    

A. World Hello
B. World MLDN
C. Hello MLDN
D. World World
参考答案:
B
99. (单选题)
下面( )不是创建数组的正确语句。
A. float f[ ][ ] = new float[6][6];
B. float f[ ] = new float[6];
C. float f[ ][ ] = new float[ ][6];
D. float[ ][ ] f = new float[6][ ];
参考答案:
C
100. (主观题)
成绩文件处理:
设计学生类Student,属性:学号(整型);姓名(字符串),选修课程(名称)及课程成绩(整型)。编写一个控制台程序,能够实现Student信息的保存、读取。具体要求:(1)提供Student信息的保存功能:通过控制台输入若干个学生的学号、姓名以及每个学生所修课程的课程名和成绩,将其信息保存到data.dat中;(2)数据读取显示:能够从data.dat文件中读取学生及其课程成绩并显示于控制台。(要求,学号和课程成绩按照整数形式(而非字符串形式)存储)
参考答案:

import java.util.*;
import java.io.*;

public class Main{
    public static void main(String[] args) {
        ObjectInputStream oi = null;
        ObjectOutputStream oo = null;
        Scanner sc = new Scanner(System.in);
        try{
            oo = new ObjectOutputStream(new FileOutputStream("D:\\data.dat"));
            oi = new ObjectInputStream(new FileInputStream("D:\\data.dat"));
            while(true){
                System.out.println("write:向文件写入数据");
                System.out.println("read: 从文件读出数据");
                System.out.println("exit: 退出");
                System.out.println("\n请输入命令:");
                String ju = sc.next();
                if("exit".equalsIgnoreCase(ju)){
                    System.out.println("程序结束");
                    break;
                }
                switch (ju){
                    case "write":{
                    	//用Set存储多个对象
                        Set<Student> set = new HashSet<>();
                        System.out.println("\n开始向文件中写入数据\n");
                        System.out.println("请输入学生个数:");
                        int n = sc.nextInt();
                        for (int i = 1; i <= n; i++) {
                            System.out.println("请输入第" + i + "名同学的学号、姓名:");
                            Student stu = new Student(sc.nextInt(), sc.next());
                            System.out.println("请输入该学生的课程个数:");
                            int m = sc.nextInt();
                            for (int j = 1; j <= m; j++) {
                                System.out.println("请输入第" + j + "门课程的名称、学分");
                                stu.setCourse(sc.next(), sc.nextInt());
                            }
                            set.add(stu);
                        }
                        oo.writeObject(set);
                        System.out.println("\n写入结束,请输入下一条指令");
                        break;
                    }

                    case "read":{
                        System.out.println("\n开始从文件中读出数据\n");
                        Set<Student> set = (Set) oi.readObject();
                        for(Student stu: set){
                            System.out.println(stu.toString());
                        }
                        System.out.println("\n读出结束,请输入下一条指令");
                        break;
                    }
                    default:{
                        System.out.println("\n无此命令,请重新输入");
                    }

                }
            }

        }catch (ClassNotFoundException e1){
            e1.printStackTrace();
        }
        catch (IOException e2){
            e2.printStackTrace();
        }finally {
            try{
                //关闭文件
                oi.close();
                oo.close();
            }catch (IOException e){
                e.printStackTrace();
            }
        }
    }
}

class Student implements Serializable{
    private int no;
    private String name;
    private TreeMap<String, Integer> course;

    public Student(int no, String name) {
        this.no = no;
        this.name = name;
        course = new TreeMap<>();
    }

    public int getNo() {
        return no;
    }

    public void setNo(int no) {
        this.no = no;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public TreeMap<String, Integer> getCourse() {
        return course;
    }

    public void setCourse(String name, int score) {
        this.course.put(name, score);
    }

    @Override
    public String toString() {
        return  "no:" + no +
                "\nname:" + name +
                "\ncourse:" + course + "\n";
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Student student = (Student) o;
        return no == student.no;
    }

    @Override
    public int hashCode() {

        return Objects.hash(no);
    }
}


本文地址:https://blog.csdn.net/weixin_41422387/article/details/112246235

相关标签: Java