(要是有什么错误或疑惑可以评论或私信)
1.分析选项中关于Java中this关键字的说法正确的是()
A. this关键字是在对象内部指代自身的引用
B. this关键字可以在类中的任何位置使用
C. this关键字和类关联,而不是和特定的对象关联
D. 同一个类的不同对象共用一个this
this:对类当前实例的引用,只能在实例的上下文中使用。
当实例变量或类变量被具有相同名称的另一个变量隐藏时,我们需要使用关键字this限定一个实例变量,并使用类名称定义一个类变量。
2.下面哪个Set是根据内容排序的
A. AbstractSet
B. LinkedHashSet
C. HashSet
D. TreeSet
AbstractSet:继承于 AbstractCollection 并且实现了大部分Set接口。
LinkedHashSet:具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现。
HashSet:继承了 AbstractSet,并且使用一个哈希表。
TreeSet:继承于AbstractSet,使用元素的自然顺序对元素进行排序.
更多Java集合框架知识可以看这个教程
3.在Java的异常处理模型中,能单独和finally语句一起使用的块是()。
A. try
B. catch
C. throw
D. throws
B:catch要和try一同使用
详细可以看我另一篇博客 在写了
4.在Java接口中,下列选项中有效的方法声明是()
A. public void fn();
B. public void fn(){ };
C. protected void fn();
D. private void fn();
接口是一种纯的抽象类,接口的方法都是抽象方法。所以不能存在函数体,且必须为共有。
可以省略 public 以及 abstract 关键字。
5.下列选项中关于Java中super关键字的说法正确的是()。
A. super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
B. super关键字是在子类对象内部指代其父类对象的引用
C. 子类通过super关键字只能调用父类的方法,而不能调用父类的属性
D. 类通过super关键字只能调用父类的属性,而不能调用父类的方法
super:类的直接父类,可以用来访问父类的构造方法、普通方法和属性。
6.给的如下所示的Java代码,运行时,会产生( )类型的异常。
String s = “bnuz”;s.substring(5,7);
A. ArithmeticException
B. StringIndexOutOfBoundsException
C. NullPointerException
D. StringNullException
ArithmeticException:算数异常(除零异常)
StringIndexOutOfBoundsException:字符串索引越界异常,
NullPointerException:空指针异常
StringNullException:字符串空异常(字符串没有初始化)
7.在Java中,关于构造方法,下列说法错误的是( )。
A. 构造方法的名称必须与类名相同;
B. 构造方法可以带参数;
C. 构造方法不可以重载;
D. 构造方法给对象分配内存
一个类可以有多个构造函数。它们称为重载构造函数。
如果一个类有多个构造函数,它们的数量顺序或参数类型都必须与其他构造函数不同。
8.对象的特征在类中表示为变量,称为类的( )。
A. 对象
B. 属性
C. 方法
D. 数据类型
对象:类的实例化
属性:类的变量
方法:类的行为
数据类型:变量的属性
9.下列()不属于引用数据类型。
A. boolean
B. 数组;
C. 字符串;
D. 接口;
引用数据类型:引用数据类型是建立在基本数据类型的基础上,包括数组、类和接口。
除了基本数据类型以外的都是引用数据类型。
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
a++:表示为先引用a,然后再对a进行++。
11.在JAVA编程中,Java编译器会将java程序转换为( )
A. 字节码
B. 执行代码
C. 机器代码
D. 以上所有选项都不正确
编译器将 Java 源代码编译成字节码class文件。class加载到JVM里面后,执行引擎把字节码转为可执行代码。执行的过程,再把可执行代码转为机器码,由底层的操作系统完成执行。
12.在JAVA中,()关键字用来终止循环语句。
A. return
B. continue
C. break
D. exit
与C/C++一致:continue跳过当次循环,break终止循环。
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
一般判断
14.设 MyClass为已定义的类名,下列声明MyClass类的对象mc的语句中正确的是()。
A. public MyClass a=new MyClass ( );
B. public MyClass a=MyClass ( );
C. MyClass a=new class( );
D. a MyClass
Java实例化对象的格式:
类名 对象名 = new 类名( );
15.下列选项中,定义接口Eatable的语句正确的是 ()。
A. interface Eatable{ }
B. implements Eatable{ }
C. class Eatable{ }
D. implements interface Eatable{ }
interface:声明接口。
implements:实现接口。
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. 运行时出现异常
final的值不可改变
17.下列选项中,属于java语言的关键字的是()
A. go
B. TRUE
C. implements
D. FALSE
A、Java中没有go(goto在Java中是保留字,但语言中没有用到。)
B、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
方法的重写规则:
1、参数列表必须完全与被重写方法的相同;
2、返回类型必须完全与被重写方法的返回类型相同;
3、访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为protected,那么在子类中重写该方法就不能声明为private,只能相同或者更大,如:protected、public。
4、父类的成员方法只能被它的子类重写。
5、声明为final的方法不能被重写。
6、声明为static的方法不能被重写,但是能够被再次声明。
7、子类和父类在同一个包中,那么子类可以重写父类所有除了声明为private和final的方法。
8、子类和父类不在同一个包中,那么子类只能够重写父类的声明为public和protected的非final方法。
9、重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以。
10、构造方法不能被重写。
11、如果不能继承一个方法,则不能重写这个方法。
19.有一个类MyClass,以下为其构造函数的声明,其中正确的是()。
A. public MyClass(String s){…}
B. static MyClass (String s){…}
C. public myclass (String s){…}
D. void MyClass (String s){…}
构造函数必须与类同名,没有返回值,不能被static修饰。
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
一个类可以实现一个或多个接口,继承使用 extends 关键字,实现则使用 implements 关键字。
实现接口语法形式:
public class 类名 extends 父类 implements 接口1,接口2{ }
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
switch 进入后一直执行直到break或结束。
22.下面选项中不能使用final修饰符修饰的是 ()。
A. 类
B. 属性
C. 方法
D. 接口
final不能修饰抽象类和接口(接口中的数据成员一定为final)
final关键字可以用来修饰类、方法、变量。
①修饰类:
1、该类不能被继承。
2、类中的方法不会被覆盖,因此默认都是final的。
3、用途:设计类时,如果该类不需要有子类,不必要被扩展,类的实现细节不允许被改变,那么就设计成final类
②修饰方法:
1、该方法可以被继承,但是不能被覆盖。
2、用途:一个类不允许子类覆盖该方法,则用final来修饰
3、好处:可以防止继承它的子类修改该方法的意义和实现;更为高效,编译器在遇到调用fianal方法转入内嵌机制,提高了执行效率。
4、注意:父类中的private成员方法不能被子类覆盖,因此,private方法默认是final型的(可以查看编译后的class文件)
③修饰变量:
1、用final修饰后变为常量。包括静态变量、实例变量和局部变量这三种。
2、特点:可以先声明,不给初值,这种叫做final空白。但是使用前必须被初始化。一旦被赋值,将不能再被改变。
④修饰参数:
1、用final修饰参数时,可以读取该参数,但是不能对其作出修改
23.在java中,有如下代码片段:
for(int i=0; i<17; 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
嗯看就行了,这里我收到的原题for循环里边判断条件是i17,不知道啥意思就加了个小于号。
24.给定java代码,如下:
String str=null;
s.indexOf(“xy”);
运行时,会产生( )类型的异常。
A. ArithmeticException
B. NullPointerException
C. IOException
D. ArrayIndexOutOfBoundsException
算数异常(除零异常)
空指针异常
输入输出异常
数组访问越界
25.以下关于Java语言继承的说法正确的是( )。
A. Java中的类可以有多个直接父类
B. 抽象类不能有子类
C. Java中的接口支持多继承
D. 最终类可以作为其它类的父类
A:Java没有多继承(可以使用接口间接实现)
B:抽象类需要由子类实现其功能
D:最终类不可作为父类
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
继承使用extends。父类在后,子类在前
实现接口使用implements。类在前接口在后。
27.在javaFx编程中,创建一个按钮需要使用组件()。
A. Pane
B. Label
C. Button
D. TextField
pane
Label
TextField
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)
函数名相同,参数列表不同。
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; }
方法定义形式:
返回值 函数名(参数列表){函数体}
30.执行下面的语句后,c的值为( )。
String str= hello bnuz;
int c=s.indexOf('l');
A. 2
B. 1
C. 0
D. 3
s.indexOf(‘l’);查询第一个l出现的位置(从0开始)
31.在java中,在什么情况下类获得缺省构造方法?()
A. 类被定义时
B. 类没有其他构造方法时
C. 在类中至少定义了一个构造方法时
D. 以上皆非
一个类没有构造方法的时候,会获得缺省构造方法。
要是类中有构造方法不管构造方法有没有参数,都不会再获得缺省构造方法。
32.现有一变量声明为boolean b;下面赋值语句中正确的是()。
A. b=true;
B. b=True;
C. b=“true”;
D. b=1;
boolean的值只有两种,true和false。
33.private声明的类的方法作用范围()
A. 只可以给类本身访问
B. 只可以给同一个目录的类访问
C. 可以给所有的类访问
D. 可以给子类访问
public:对所有类可见。
private:在同一类内可见。
protected:同一包内的类和所有子类可见。
34.下面的逻辑表达式中合法的是__________
A. (3 + 5)&&(4 - 3)
B. (19 * 13)||(4 * 3)
C. 3>7&&5<100
D. (19 % 3)&&(2 * 23)
Java要求能产生布尔值。
35.在JAVA中,如果父类中的某些方法没有方法体,并且需要由子类重写,应该使用()关键字来声明父类的这些方法.
A. final
B. static
C. abstract
D. void
抽象类使用abstract。
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
全局变量默认为零
37.下列哪个关键字用来定义抽象类
A. interface
B. abstract
C. extends
D. class
interface:声明接口。
abstract:定义抽象类/函数
extends:继承
class:声明类
38.下列变量定义错误的是()。
A. float f=9.8
B. int a = 12
C. boolean b=true
D. double b=4.5
在默认情况下,包括小数点的实数,如本题中的9.8,被存储为double类型。
错误为“=”左右两边的精度不同。(可以改为:float f= (float) 9.8;)
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)
可以看到具体的区别。
在改写了toString函数后可以发现其实都是5
A、false:t1和t2不是同一个对象。
B、true:t2和t3为同一个对象。
C、报错
D、false:方法的参数类型与数值都相等返回 True,否则返回 False。
40.在JavaFx中,为了处理鼠标点击事件,注册监听器的方法是()。
A. addOnMouseClicked
B. setOnMouseClicked
C. addMouseListener
D. setMouseListener
addOnMouseClicked:
setOnMouseClicked:
addMouseListener:
setMouseListener:
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;i<6;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. 程序执行结束
这里也是嗯看,for循环中判断条件是i6,不知道是啥,加了个<号
42.在java 中,读取一个不存在的文件,会出现什么异常?( )
A. IOException
B. FileNotFoundException
C. NullPointerException
D. NoObjectException
IOException:输入输出错误。
FileNotFoundException:文件查找异常。
NullPointerException:空指针异常。
NoObjectException:自定义异常。
43.接口中的成员变量被隐含地声明为
A. public final
B. public static
C. public static final
D. public abstract
接口中成员声明可以省略static final,因为这是必须的。
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. 编译错误
先调用父类构造,再是子类构造。
45.执行下面的语句后,a的值为( )。
String str= "welcome";
char a=str.charAt(1);
A. ’e’
B. ’w’
C. 'l ’
D. ‘elcome’
字符串从0开始存储。
46.在Java中,在父类A中的方法method(),代码如下:
public void method(){
int a = 13;
int r = a % 3;
System.out.println(r);
}
在子类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
由B的对象调用。
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
字符串比较不能用“==”。
48.在Java里,下列选项( )不是实现面向对象思想的机制。
A. 封装
B. 继承
C. 多态
D. 数据型转换
面向对象三特点:封装、继承、多态。
49.以下由 for 语句构成的循环执行的次数是()。
for ( int i = 0; true ; i++) ;
A. 有语法错误,不能执行
B. 一次也不执行
C. 执行1次
D. 无限次
循环判断条件永远为true,无法退出。
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
先运行再判断
51.假如X的值为10,程序输出的结果是( )。
switch(x){
case 10:
System.out.print("10 ");
case 20:
System.out.println("20 ");break;
case 30:
System.out.println("30");break;
}
A. 10 20
B. 10
C. 10 20 30
D. 30
- switch 进入后只有遇到break才退出,否则一直运行到结束。
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行
一、7.0
二、7.0
三、7
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(); }
A、Shape不是接口。
C、没有实现虚函数。
D、Shape不是接口、没有实现虚函数。
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){ } }
- z
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
无法从 static 上下文引用非 static 字段 ‘arr’
56.编写一个程序,包括两个TextField和一个Button。当单击按钮时,可以把一个文本框中的内容复制到另一个文本框中。要求用JavaFx组件实现。界面如下图所示:
57.编写程序,创建一个如下图所示的用户界面,其上共有6个按钮,点击按钮“Button 1”时显示消息“button 2 has been clicked”,点击按钮“Button 2”时显示消息“button 2 has been clicked”,点击按钮“Button 3”时显示消息“button 3 has been clicked”,以此类推…
58.当编译并运行下列代码时,其运行结果是什么?
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
- 当编译并运行下列代码时,其运行结果是什么?
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
60.如果一个方法只有方法的声明,而没有方法的实现,则称为抽象方法。
61.异常处理try-catch-finally语句中,是用 catch 语句块来捕获和处理异常。
62.读程序,写出程序运行结果
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
while do先判断再执行。- -在后表明先使用后运算。
这里原题少了个判断符号,我猜是小于号。
63.在一大堆数据中找出重复的是一件经常要做的事情。现在,我们要处理许多整数,在这些整数中,可能存在重复的数据。
你要写一个程序来做这件事情,读入数据,检查是否有重复的数据。如果有,输出“YES”这三个字母;如果没有,则输出“NO”。输入格式:
你的程序首先会读到一个正整数n,1=n=100000。然后是n个整数。输出格式:
如果这些整数中存在重复的,就输出:YES
否则,就输出:NO
输入样例:
5
1 2 3 1 4
输出样例:
YES
- 解析:
看数据范围,数字个数最多只有十万,可以直接排序看相邻两个是否相同。
package sample;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static int N = 100010;
public static int[] number = new int[N];
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
for (int i = 0; i < n; i++) number[i] = input.nextInt();
Arrays.sort(number, 0, n);
int flag = 0;
for (int i = 0; i < n - 1; i++) {
if (number[i] == number[i + 1]) {
flag = 1;
break;
}
}
System.out.println(flag == 1 ? "YES" : "NO");
input.close();
}
}
64.定义一个贷款类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
参考答案:
- (主观题)(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
参考答案:
-
(主观题)(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对象的姓名、地址、电话号码、电子邮件、办公室、工资、学历、职称信息。
参考答案: -
(主观题)(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分)
编写一个程序,运行结果如下图所示.
参考答案:
-
(主观题)(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对象,并显示矩形的面积、周长、颜色以及是否填充。
参考答案: -
(主观题)(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
参考答案:
79.下列有关匿名对象的说法,正确的有:
A. 匿名对象只能继承一个类或实现一个接口
B. 匿名对象可以有构造函数
C. 匿名对象不能被重复构造
D. 每个匿名对象都具有独一无二的类型
参考答案:
A, C, D
80. (多选题)(1分)
对于如下的代码片段,执行
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. (主观题)(1分)
编写程序,显示从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. 错误
参考答案:
正确 -
(判断题)(1分)
子类和父类必须在一个包中。
A. 正确
B. 错误
参考答案:
错误 -
读程序,写出程序运行结果
public class T3{
public static void main(String[] args){
System.out.print (3 + 3 + 3 + 3 + (3 + 3));
}
}
参考答案:
6336
85.写出程序运行的结果
public class T1{
int a = 1000;
public static void main(String[] args){
int a = 10;
System.out.print(a);
}
}
参考答案:
10
86.以下关于Java语言继承的说法正确的是( )。
A. Java中的类可以有多个直接父类
B. 抽象类不能有子类
C. Java中的接口支持多继承
D. 最终类可以作为其它类的父类
参考答案:
C
87.以下关于Java语言继承的说法正确的是( )。
A. Java中的类可以有多个直接父类
B. 抽象类不能有子类
C. Java中的接口支持多继承
D. 最终类可以作为其它类的父类
参考答案:
C
88. (单选题)(1分)
以下关于Java语言继承的说法正确的是( )。
A. Java中的类可以有多个直接父类
B. 抽象类不能有子类
C. Java中的接口支持多继承
D. 最终类可以作为其它类的父类
参考答案:
C
89.以下关于Java语言继承的说法正确的是( )。
A. Java中的类可以有多个直接父类
B. 抽象类不能有子类
C. Java中的接口支持多继承
D. 最终类可以作为其它类的父类
参考答案:
C
90.以下关于Java语言继承的说法正确的是( )。
A. Java中的类可以有多个直接父类
B. 抽象类不能有子类
C. Java中的接口支持多继承
D. 最终类可以作为其它类的父类
参考答案:
C
91. (多选题)(1分)
根据下面的代码,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( (snull) || (s.length()==0) )
参考答案:
A, C
92. (多选题)(1分)
接口和抽象类描述正确的有
A. 抽象类没有构造函数
B. 接口没有构造函数
C. 抽象类不允许多继承
D. 接口中的方法可以有方法体
参考答案:
B, C
93.以下关于final关键字说法错误的是
A. final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性
B. final修饰的类肯定不能被继承
C. final修饰的方法不能被重载
D. final修饰的变量不允许被再次赋值
参考答案:
A, C
94. 以下可以正确获取结果集的有
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. (填空题)(1分) 若变量s为int型, 且其值大于0, 则表达式s%2+(s+1)%2的值为 _________ .
参考答案:
1
- CPU 内用于暂存指令、数据和地址的高速存储部件,称为 寄存器 。
- (单选题)(1分)
什么是裸机?
▁▁▁▁▁ 的计算机称为裸机。
A. 没有机箱
B. 没有外部设备
C. 没有软件系统(*)
D. 没有应用软件
参考答案:
C - 已知代码如下:
上述代码结果是( )。
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文件中读取学生及其课程成绩并显示于控制台。(要求,学号和课程成绩按照整数形式(而非字符串形式)存储)
参考答案: