当前位置:文档之家› java答案第七章

java答案第七章

java答案第七章
java答案第七章

Java语言程序设计

第七章课后习题答案

1.数组的声明与数组元素的创建有什么关系?

答:声明数组仅仅是代表试图创建数组,不分配任何存储空间,声明是为创建做“铺垫”。

2.Vector类的对象与数组有什么关系?什么时候适合使用数组,什么时候适合使用Vector?答:vector是一个能够存放任意对象类型的动态数组,容量能自动扩充,而数组存储固定且类型相同的对象;对于存储固定类型相同的对象使用数组,对于存储不同类型或者动态调整数组大小的情况使用Vector。

3.与顺序查找相比,二分查找有什么优势?使用二分查找的条件?

答:对于大数据量中进行查找时二分查找比顺序查找效率高得多;条件是已排序的数组。

4.试举出三种常见的排序算法,并简单说明其排序思路。

答:①选择排序:基本思想是站在未排序列中选一个最小元素,作为已排序子序列,然后再重复地从未排序子序列中选取一个最小元素,把它加到已经排序的序列中,作为已排序子序列的最后一个元素,直到把未排序列中的元素处理完为止。

②插入排序:是将待排序的数据按一定的规则逐一插入到已排序序列中的合适位置处,直到将全部数据都插入为止。

③二分查找:将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。

5.声明一个类People,成员变量有姓名、出生日期、性别、身高、体重等;生成10个People 类对象,并放在一个以为数组中,编写方法按身高进行排序。

//People类

public class People{

private String name;

private String birthdaydate;

private String sex;

private double height;

private double weight;

public People(){//默认构造函数

}

public People(People p){

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

this.birthdaydate=p.birthdaydate;

this.sex=p.sex;

this.height=p.height;

this.weight=p.weight;

}

public People(String name,String birthdaydate,String sex,double height,double weight){

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

this.birthdaydate=birthdaydate;

this.sex=sex;

this.height=height;

this.weight=weight;

}

public String getName() {

return name;

}

public void setName(String name) {

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

}

public String getBirthdaydate() {

return birthdaydate;

}

public void setBirthdaydate(String birthdaydate) {

this.birthdaydate = birthdaydate;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

public double getHeight() {

return height;

}

public void setHeight(double height) {

this.height = height;

}

public double getWeight() {

return weight;

}

public void setWeight(double weight) {

this.weight = weight;

}

public String toString(){

return"姓名:"+name+"\n出生年月:"+birthdaydate+"\n性别:"+sex+"\n 身高:"+height+"\n体重:"+weight;

}

}

//test7_5类

public class test7_5 {

/**

*@param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

People[] people={

new People("林楚金","1989年8月13日","男",182,63.5),

new People("诸葛亮","181年7月23日","男",184,76.6),

new People("迈克杰克逊","1958年8月29日","男",180,60),

new People("乔丹","1963年2月17日","男",198,98.1),

new People("拿破仑","1769年8月15日","男",159.5,63),

new People("苍井空","1983年11月11日","女",155,45),};

People temp=new People();

for(int i=0;i

for(int j=i+1;j

if(people[i].getHeight()

temp=people[j];

people[j]=people[i];

people[i]=temp;

}

}

System.out.println("按身高从小到大排序后的结果如下:");

for(int i=0;i

System.out.println(people[i]+"\n");

}

}

运行结果:

6.声明一个类,此类使用私有的ArrayList来存储对象。使用一个Class类的引用得到第一个对象的类型之后,只允许用户插入这种类型的对象。

// Fuck类

import java.util.ArrayList;

public class Fuck {

private ArrayList man=new ArrayList();

private Class classType=null;

public void add(Object f){

if(man.size()==0){

classType=f.getClass();

}

if(classType.equals(f.getClass())){

man.add(f);

System.out.println("插入成功.");

}

else{

System.out.println("只允许插入"+getClassType()+"类的对象.");

}

}

public ArrayList getMan() {

return man;

}

public Class getClassType() {

return classType;

}

public Fuck(){}

}

//test7_6

public class test7_6 {

public static void main(String[] args) {

Fuck fuckman=new Fuck();

String s=new String("林楚金");

fuckman.add(s);

fuckman.add(10);//测试插入插入整数

fuckman.add('f');//测试插入插入字符

fuckman.add("希特勒");

System.out.println(fuckman.getMan());

}

}

运行结果:

7.找出一个二维数组的鞍点,即该位置上的元素在所在行上最大,在所在列上最小。(也可能没有鞍点)

//test7_7

import java.util.Scanner;

public class test7_7 {

public static void main(String[] args) {

int row, series, max;

boolean T=false;

Scanner cin = new Scanner(System.in);

System.out.println("请输入数组的行数");

row = cin.nextInt();

System.out.println("请输入数组的列数");

series = cin.nextInt();

int[][] Array = new int[row][series];

int[] R = new int[row];// 记录每行最大的数的列标

int[] S = new int[series];// 记录每列最小的数的行标

System.out.println("请输入数组内容");

for (int i = 0; i < Array.length; i++)

for (int j = 0; j < Array[i].length; j++)

{ Array[i][j] = cin.nextInt();

if(j==series-1) {

max = Array[i][0];

for (int z = 1; z < series; z++)

if (Array[i][z] > max)

{

max = Array[i][z];

R[i] = z;

}

}

}

for (int j = 0; j < Array[0].length; j++) {

max = Array[0][j];

for (int z = 1; z < row ; z++)

if (Array[z][j] < max)

{

max = Array[z][j];

S[j] = z;

}

}

for(int i=0;i

{

if(S[R[i]]==i)

{

System.out.println("鞍点:"+"Array["+i+"]["+R[i]+ "]:"+Array[i][R[i]]+"\n");

T=true;

}

}

if(T==false)

System.out.println("没有鞍点");

}

}

运行结果:

8. 声明一个矩阵类Matrix,其成员变量是一个二维数组,数组元素类型为int,设计下面的方法,并声明测试类对这些方法进行测试。(1)构造方法。Matrix() //构造一个10×10个元素的矩阵,没有数据Matrix(int n) //构造一个n×n 个元素的矩阵,数据随机产生 Matrix(int n,int m) //构造一个n×m个元素的矩阵,数据随机产生

Matrix(int table[][]) //以一个整型的二维数组构造一个矩阵

(2) 实例方法。public void output() //输出Matrix类中数组的元素值public Matrix transpose //求一个矩阵的转置矩阵

Public Boolean isTriangular //判断一个矩阵是否为上三角矩阵

Public Boolean isSymmetry() //判断一个矩阵是否为对称矩阵

Public void add(Matrix b) //将矩阵b与接受着对象相加,结果放在接受着对象中

用key-value对来填充一个HashMap,并按hash code排列输出。

编写一个方法,在方法中使用Iterator类遍历Collection,并输出此集合类中每个对象的hashCode()值。用对象填充不同类型的Collection类对象,并将此方法应用于每一种Collection类对象。

//Matrix类

public class Matrix {

int array[][];

Matrix() {// 构造一个10X10个元素的矩阵,没有数据

array = new int[10][10];

}

Matrix(int n) {// //构造一个n?án个元素的矩阵,数据随机产生

array = new int[n][n];

for (int i = 0; i < n; i++) {

for (int j = 0; j < n; j++) {

array[i][j] = (int) (Math.random() * 10);

}

}

}

Matrix(int n, int m) {// 构造一个n*m个元素的矩阵,数据随机产生array = new int[n][m];

for (int i = 0; i < n; i++) {

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

array[i][j] = (int) (Math.random() * 10);

}

}

Matrix(int table[][]) {// 以一个整型的二维数组构造一个矩阵array = table;

}

public void output() {// 输出Matrix类中数组的元素值for (int i = 0; i < array.length; i++) {

for (int j = 0; j < array[0].length; j++)

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

System.out.println();

}

}

public void transpose() {// 输出一个矩阵的转置矩阵

for (int i = 0; i < array[0].length; i++) {

for (int j = 0; j < array.length; j++)

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

System.out.println();

}

}

public boolean isTriangular() {// 判断一个矩阵是否为上三角矩阵boolean flag = true;

for (int i = 0; i < array.length; i++) {

for (int j = 0; j < array[0].length; j++) {

if ((i > j) && (array[i][j] != 0)) {

flag = false;

}

}

}

return flag;

}

public boolean isSymmetry() { // 判断一个矩阵是否为对称矩阵

boolean Symmetry = true;

for (int i = 0; i < array.length; i++) {

for (int j = i; j < array[0].length; j++) {

if (array[i][j] == array[j][i]) {

Symmetry = false;

}

}

}

return Symmetry;

}

public void add(Matrix b) { // 将矩阵b与接受着对象相加,结果放在接受着对象中

for (int i = 0; i < array.length; i++) {

for (int j = 0; j < array[0].length; j++) {

this.array[i][j] = array[i][j] + b.array[i][j];

}

}

}

}

//test7_8

import java.util.Scanner;

public class test7_8 {

public static void main(String args[]) {

int n;

int m;

Scanner cin = new Scanner(System.in);

System.out.println("请输入数组的行数");

n = cin.nextInt();

System.out.println("请输入数组的列数");

m = cin.nextInt();

Matrix matrix = new Matrix(n, m);

System.out.println(n+"行"+m+"列矩阵为:");

matrix.output();

System.out.println("其转置矩阵为:");

matrix.transpose();

Matrix b = new Matrix(n, m);

if (matrix.isTriangular()==true) {

System.out.println("是上三角矩阵。");

} else {

System.out.println("不是上三角矩阵");

}

if (matrix.isSymmetry()==true) {

System.out.println("是对称矩阵。");

} else {

System.out.println("不是对称矩阵。");

}

matrix.add(b);

System.out.println("相加后的矩阵:");

matrix.output();

}

}

运行的结果:

JavaWeb程序设计 习题参考答案(第7章)

第七章监听和过滤 1、调用ServletContext的getAttribute()方法时,会触发哪个方法调用?(假设有关联的 监听器) A、ServletContextAttributerListener的attributeAdded()方法 B、ServletContextAttributeListener的attributeRemove()方法 C、ServletContextAttributerListener的attributeReplace() D、不会调用任何监听方法 参考答案:D 2、调用HttpSession的removeAttribute()方法时,会触发哪个方法调用?(假设有关联的监听器) A、HttpSessionListener的attributeRemove()方法 B、HttpSessionActivateionListener的attributeRemove()方法 C、HttpSessionBindingListener的attributeRemove() D、HttpSessionAttributerListener的attributeRemove 参考答案:D 3、调用HttpServletRequest的setAttribute()方法时,会触发哪个方法调用?(假设有关联的监听器) A、ServletRequestAttributeListener的attributeAdded()方法 B、ServletRequestAttributeListene的attributeReplaced()方法 C、ServletRequestAttributeListene的attributeRemove()方法 D、ServletRequestAttributeListene的attributeSetted()方法 参考答案:A 4、在web.xml中使用什么元素配置监听器 A、 B、 C、 D、 参考答案:B 5、下述代码定义了两个过滤器

JAVA测试题(三套含答案)

1.在单一文件中import、class和package的正确出现顺序是:A A.package, import, class B.class, import, package C.import, package, class D.package, class, import 2.public static void main方法的参数描述是:A,D A.String args[] B.Strings args[] C.String args D.String []args 3.下面哪行代码会在编译的时候出现错误或警告:A,B,C,D A.float f=; B.char c="a"; C.byte b=257; D.boolean b=null; E.int i=10; 4. 编译,运行下列代码后的结果是:D public class Test { public static void main (String args []) { int age; age = age + 1; "The age is " + age); } } A.编译,运行后没有输出 B.编译,运行后输出:The age is 1 C.能通过编译,但运行时产生错误 D.不能通过编译 4.下面那些关键字不是JAVA的关键字B A if B then C goto D while E case 5.下面那些不是合法的变量定义:A,F C. _whatavariable D. _3_

6.内部数据类型byte的取值范围是B - 65, 535 B.(–128) – 127 C.(–32,768) – 32,767 D.(–256) – 255 7.下列哪些表达式返回true AB A."john" == "john" B."john".equals("john") C."john" = "john" D."john".equals(new Button("john")) 8.声明公用的abstract方法的正确格式是A A.public abstract void add(); B.public abstract void add() {} C.public abstract add(); D.public virtual add(); 9.下面的代码能打印出的结果为:C int i=1; switch (i) { case 0: "zero"); break; case 1: "one"); case 2: "two"); default: "default"); } B.one, default C.one, two, default D.default 10.下面的代码能打印出的结果为:B int i=9; switch (i) { default: "default"); case 0:

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

Java大学基础教程(英文第六版)课后第六章自测题答案

//test the 'Math' class //Math class is a part of https://www.doczj.com/doc/9710362708.html,ng package, so no need to import it public class p217_6$3 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.printf( "Math.abs( 23.7 ) = %s\n", Math.abs( 23.7 ) ); System.out.printf( "Math.abs( 23.7 ) = %f\n", Math.abs( 23.7 ) ); System.out.printf( "Math.abs( 0.0 ) = %f\n", Math.abs( 0.0 ) ); System.out.printf( "Math.abs( -23.7 ) = %f\n", Math.abs( -23.7 ) ); System.out.printf( "Math.ceil( 9.2 ) = %f\n", Math.ceil( 9.2 ) ); System.out.printf( "Math.ceil( -9.8 ) = %f\n", Math.ceil( -9.8 ) ); System.out.printf( "Math.cos( 0.0 ) = %f\n", Math.cos( 0.0 ) ); System.out.printf( "Math.exp( 1.0 ) = %f\n", Math.exp( 1.0 ) ); System.out.printf( "Math.exp( 2.0 ) = %f\n", Math.exp( 2.0 ) ); System.out.printf( "Math.floor( 9.2 ) = %f\n", Math.floor( 9.2 ) ); System.out.printf( "Math.floor( -9.8 ) = %f\n", Math.floor( -9.8 ) ); System.out.printf( "Math.log( Math.E ) = %f\n", Math.log( Math.E ) ); System.out.printf( "Math.log( Math.E * Math.E ) = %f\n", Math.log( Math.E * Math.E ) ); System.out.printf( "Math.max( 2.3, 12.7 ) = %f\n", Math.max( 2.3, 12.7 ) ); System.out.printf( "Math.max( -2.3, -12.7 ) = %f\n", Math.max( -2.3, -12.7 ) ); System.out.printf( "Math.min( 2.3, 12.7 ) = %f\n", Math.min( 2.3, 12.7 ) ); System.out.printf( "Math.min( -2.3, -12.7 ) = %f\n", Math.min( -2.3, -12.7 ) ); System.out.printf( "Math.pow( 2.0, 7.0 ) = %f\n", Math.pow( 2.0, 7.0 ) ); System.out.printf( "Math.pow( 9.0, 0.5 ) = %f\n", Math.pow( 9.0, 0.5 ) ); System.out.printf( "Math.sin( 0.0 ) = %f\n", Math.sin( 0.0 ) ); System.out.printf( "Math.sqrt( 900.0 ) = %f\n", Math.sqrt( 900.0 ) ); System.out.printf( "Math.tan( 0.0 ) = %f\n", Math.tan( 0.0 ) ); } }

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-how-to-program(第六版)答案第六章--1

第六章方法的深入剖析 6.7结果如下: a)7.5 b)7.0 c)0.0 d)0.0 e)6.4 f)6.0 g)-14.0 6.8程序代码为: import java.util.Scanner; public class Exercise1_2 { public static void main( String args[]) { Exercise1_2 e = new Exercise1_2(); Scanner input = new Scanner( System.in ); int time; double account = 0.0; System.out.println("Enter the park time or end with -1:"); time = input.nextInt(); while ( time != -1 ) { System.out.printf("Charge with $%.3f\n", e.calculateCharge( time )); account += e.calculateCharge( time ); System.out.println("Enter the park time or end with -1:"); time = input.nextInt(); } System.out.printf("The total park money is $%.3f.", account); } public double calculateCharge( int time ) { double charge; if ( time <= 3 ) charge = 2.00; else if ( time <= 24 ) charge = 2.00+(time-3)*0.50;

Java核心技术习题答案

Java核心技术 习题答案 马志强张然李雷孝编 清华大学出版社 目录 第一章Java语言概述 (3) 第二章 Java语法基础 (4) 第三章面向对象编程 (15) 第四章数组 (38) 第五章高级类特性 (45) 第六章 GUI编程 (51) 第七章集合框架 (62) 第九章集合框架 (77) 第十章 IO流 (81) 第十一章 JDBC访问数据库 (84) 第十二章线程 (85) 第十三章网络编程 (90)

第一章Java语言概述 一、选择题 1-5 ABBBB 6-8 AAB 二、填空题 1. MyClass MyClass.class 2. String数组(String[])一 3. javac A.java java A 三、程序设计题 1、搭建Java运行环境,并写一个Java程序打印输出“开始学习Java程序设计!”。 1)首先安装JDK; 2)配置环境变量path,classpath可配可不配; 3)FirstJava.java public class HelloWorld{ public static void main(String[] args){ 开始学习Java程序设计!"); } } 2、修改下面四个Java源文件中的错误,使其能够编译和运行。 Test1.java:TestAnother1类不能再使用public修饰,一个源文件中只能有一个类或者接口用public修饰; Test2.java:源文件中public修饰的类的名字为Testing2,和源文件名字不一致; Test3.java:Test3类的main方法的形参类型为String[]; Test4.java:Test4类的main方法必须使用static关键字修饰。

java基础考试题及答案

新员工考试 一、选择题(共30题,每题 2 分) 1. 下面哪些是合法的标识符?(多选题) A. $persons B. TwoUsers C. *point D. this E. _endline 答案A,B,E 分析Java 的标识符可以以一个Unicode 字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字(this 保留字)。 2. 哪些是将一个十六进制值赋值给一个long 型变量?(单选题) A. long number = 345L; B. long number = 0345; C. long number = 0345L; D. long number = 0x345L 答案D 分析十六进制数以Ox开头,Io ng型数以L (大小写均可,一般使用大写,因为小写的 l 和数字1 不易区分)。 3. 下面的哪些程序片断可能导致错误? (多选题) A. String s = "Gone with the wind"; String t = " good "; String k = s + t; B. String s = "Gone with the wind"; String t; t = s[3] + "one"; C. String s = "Gone with the wind"; String standard = s.toUpperCase(); D. String s = "home directory"; String t = s - "directory"; 答案B,D 分析 A:String 类型可以直接使用+进行连接运算。 B:String 是一种Object ,而不是简单的字符数组,不能使用下标运算符取其值的某个元 素,错误。 C:toUpperCase()方法是String 对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String 类型)。 D:String 类型不能进行减(- )运算,错误。 4. point x 处的哪些声明是句法上合法的? (多选题) cIass Person { private int a; pubIic int change(int m){ return m; } } pubIic cIass Teacher extends Person { public int b;

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

java笔试题含答案

班级:_______________ 学号:______________ 姓名:___________ Java 笔试题 (可多选) 1. 下面哪些是Thread类的方法( ABD) A start() B run() C exit() D getPriority() 2. 下面关于类的说法正确的是(A) A 继承自Throwable B Serialable C 该类实现了Throwable 接口 D 该类是一个公共类 3. 下面程序的运行结果是( false ) String str1 = "hello"; String str2 = "he" + new String("llo"); == str2); 4. 下列说法正确的有( C) A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 5. 指针在任何情况下都可进行>, <, >=, <=, ==运算( true ) 6. 下面程序的运行结果:(B) public static void main(String args[]) { Thread t = new Thread() { public void run() { pong(); } }; (); "ping"); } static void pong() { "pong"); } A pingpong

B pongping C pingpong和pongping都有可能 D 都不输出 7. 下列属于关系型数据库的是(AB) A. Oracle B MySql C IMS D MongoDB 8. GC(垃圾回收器)线程是否为守护线程( true ) 9. volatile关键字是否能保证线程安全( false ) 10. 下列说法正确的是(AC) A LinkedList继承自List B AbstractSet继承自Set C HashSet继承自AbstractSet D WeakMap继承自HashMap 11. 存在使i + 1 < i的数吗(存在) 12. 的数据类型是(B) A float B double C Float D Double

《java2实用教程》(第四版)课后答案 第七章-第八章

Java程序设计第三次作业 第7章习题 4.1程序代码 import java.util.*; public class SUMANDAVERAGE { public static void main(String[] args) { Scanner reader=new Scanner(System.in); double sum=0; int m=0; while(reader.hasNextDouble()){ double x=reader.nextDouble(); assert x>=0&&x<=100:"该数是非法的成绩数据!"; m=m+1; sum=sum+x; } System.out.printf("%d个数的和为%f\n", m,sum); System.out.printf("%d个数的平均值为%f\n",m,sum/m); } } 4.2运行结果 第8章习题 4.1程序代码 package kehou; import java.util.Calendar; import java.util.InputMismatchException; import java.util.Scanner; public class BC8_4 { public static void main(String[] args) { System.out.print("请选择你要完成的功能:\n1,转换字母大小写及连接两个字符串。\n2,得到字符串第一个和最后一个字符。\n3,计算两个时间之间的间隔天数。\n" + "4,使用简单的Math类用法。\n5,剔除字符串中的非数字字符。\n6,解析字符串。\n."); System.out.print("输入数字i(i=1...6;输入0结束!):"); Scanner reader=new Scanner(System.in);

java考试试卷及答案

JA V A考试试卷及答案 选择题 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画 图操作。 A. start() B. stop() C. init() D. paint() 3、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B A)安全性B)多线程C)跨平台D)可移植 4、下列哪个类声明是正确的?D A)abstract final class HI{···}B)abstract private move(){···} C)protected private number; D)public abstract class Car{···} 6、在Java语言中,下列哪些语句关于内存回收的说明是正确的? B A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 10、下列Object类中的方法,哪一项不是完全跟线程有关:A A.String toString() B.void notify() C.void notifyAll() D.void wait() 11、给出下面代码:C

public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 下列说法中正确的是? A.编译时将产生错误; B.编译时正确,运行时将产生错误; C.输出零; D.输出空。 12、字符串是Java已定义的类型,关于它的构造函数,下面说法不正确的是:B A.String(char[] value, int offset, int count) B.String(int[] codePoints,int offset, int count) C.String(String original) D.String(StringBuffer buffer) 13、下列说法中正确的是:C A.导入包会影响程序的性能 B.包存储在类库中 C.包是类的容器D.上述说法都不对 14、下列不是String类的常用方法是:C

Java语言程序设计(郑莉)第六章课后习题答案

Java语言程序设计 第六章课后习题答案 1.将本章例6-1至6-18中出现的文件的构造方法均改为使用File类对象作为参数实现。 个人理解:File类只能对整文件性质进行处理,而没法通过自己直接使用file.Read()或者是file.write()类似方法对文件内容进行写或者读取。注意:是直接;下面只提供一个例2变化,其他的你自己做,10几道啊,出这题的人真他妈有病。 import java.io.*; public class test6_2{ public static void main(String[] args) throws IOException { String fileName = "D:\\Hello.txt"; File writer=new File(fileName); writer.createNewFile(); BufferedWriter input = new BufferedWriter(new FileWriter(writer)); input.write("Hello !\n"); input.write("this is my first text file,\n"); input.write("你还好吗?\n"); input.close(); } } 运行结果:(电脑系统问题,没法换行,所以一般使用BuffereWriter中newLine()实现换行) 2.模仿文本文件复制的例题,编写对二进制文件进行复制的程序. // CopyMaker类 import java.io.*; class CopyMaker { String sourceName, destName; BufferedInputStream source; BufferedOutputStream dest; int line; //打开源文件和目标文件,无异常返回true private boolean openFiles() {

Java大学实用教程课后答案

第一章 1.发明java的原因是什么,发明java的主要贡献者是谁? 答:开发java语言的动力源于对独立平台的需要,即用这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况。当时,c语言已无法满足人们的这一愿望,因为c语言总是针对特定的芯片将源程序编译成机器码,该机器码的运行就与特定的芯片指令有关,在其他类型的芯片上可能无法运行或者运行出错。主要贡献者是James Gosling。 2.“java编译器将源文件编译生成的字节码是机器码”,这句话正确吗?答:不正确,字节码是很接近机器码的二进制文件,不能被机器直接识别。 3. java应用程序的主类必须含有怎么样的方法? 4. "java应用程序必须有一个类是public类".这句话正确吗? 答:一个java应用程序必须有一个类含有public static void main(String args[] )方法,称为该应用程序的主类。 5. "java applet程序的主类必须是public类",这句话正确吗?不正确 "java applet源文件的主类必须是public类",这句话正确吗?正确 6. 叙述java源文件的命名法则。 答:(1)如果源文件中有多个类,那么只能有一个类是public类。(2)如果有一个类是public类,那么源文件的名字必须和这个类的名字完全相同,扩展名为.java(3)如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名为.java就可以了。(4)java语言区分大小写。 7. 源文件生成的的字节码运行时加载到内存中吗? 8. 怎样编写加载运行java applet的简单网页? 9. JDK1.6编译器使用"-source"参数的作用是什么,其默认的参数取值是什么? 答:在编译源文件时使用"-source"参数来约定字节码适合的java平台。 1.6 第二章 1. 什么叫标识符,标识符的规则是什么? 答:用类标识类名、变量名、方法名、数组名、类型名、文件名的有效字符序列称为标识符。规则:标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字,标识符中的字母是区分大小写的。

JAVA试题及答案(精致)

选择题 1、JAVA所定义的版本中不包括:( D ) A、JAVA2 EE B、JAVA2 Card C、JAVA2 ME D、J AVA2 HE E、J AVA2 SE 2、下列说法正确的是( A ) A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括 起来 3、变量命名规范说法正确的是( B ) A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 4、下列javaDoc注释正确的是( C ) A、/*我爱北京天安门*/ B、//我爱北京天安门*/ C、/**我爱北京天安门*/ D、/*我爱北京天安门**/ 5、为一个boolean类型变量赋值时,可以使用( B )方式 A、boolean = 1; B、boolean a = (9 >= 10); C、boolean a="真"; D、b oolean a = = false; 6、以下( C )不是合法的标识符 A、STRING B、x3x; C、void D、d e$f 7、表达式(11+3*8)/4%3的值是( D )

A、31 B、0 C、1 D、2 8、( A )表达式不可以作为循环条件 A、i++; B、i>5; C、bEqual = str.equals("q"); D、c ount = = i; 9、运算符优先级别排序正确的是(A ) A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、 赋值运算符; B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、 逻辑运算符; C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、 赋值运算符; D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、 逻辑运算符; 10、以下程序的运行结果是:( B ) public class Increment{ public static void main(String args[]) { int a; a = 6; System.out.print(a); System.out.print(a++); System.out.print(a); } } A.666 B.667 C.677 D.676 11、下列值不为true的表达式有( C )。 A、"john" = = "john" B、"john".equals("john") C、"john" = "john" D、"john".equals(new String("john")) 12、下列输出结果是( C )

java考试试卷及答案

JAVA考试试卷及答案 选择题 3、在JavaApplet程序用户自定义的Applet子类中,一般需要重载父类的(D)方法来完成一些画图操作。 ()() ()() 3、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B A)安全性B)多线程C)跨平台D)可移植 4、下列哪个类声明是正确的?D A)abstractfinalclassHI{···}B)abstractprivatemove(){···} C)protectedprivatenumber;D)publicabstractclassCar{···} 6、在Java语言中,下列哪些语句关于内存回收的说明是正确的?B A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 10、下列Object类中的方法,哪一项不是完全跟线程有关:A A.StringtoString() B.voidnotify() C.voidnotifyAll() D.voidwait() 11、给出下面代码:C publicclassPerson{ staticintarr[]=newint[10]; publicstaticvoidmain(Stringa[]) { } } 下列说法中正确的是? A.编译时将产生错误; B.编译时正确,运行时将产生错误; C.输出零; D.输出空。 12、字符串是Java已定义的类型,关于它的构造函数,下面说法不正确的是:B A.String(char[]value,intoffset,intcount) B.String(int[]codePoints,intoffset,intcount) C.String(Stringoriginal) D.String(StringBufferbuffer) 13、下列说法中正确的是:C A.导入包会影响程序的性能 B.包存储在类库中 C.包是类的容器D.上述说法都不对

Java核心技术习题答案

Java核心技术习题答案 马志强张然李雷孝编 清华大学出版社

目录 第一章Java语言概述 (3) 第二章 Java语法基础 (4) 第三章面向对象编程 (11) 第四章数组 (25) 第五章高级类特性 (26) 第六章 GUI编程 (26) 第七章集合框架 (29) 第九章集合框架 (42) 第十章 IO流 (46) 第十一章 JDBC访问数据库 (46) 第十二章线程 (48) 第十三章网络编程 (53)

第一章Java语言概述 一、选择题 1-5 ABBBB 6-8 AAB 二、填空题 1. MyClass 2. String数组(String[])一 3. javac java A 三、程序设计题 1、搭建Java运行环境,并写一个Java程序打印输出“开始学习Java程序设计!”。 1)首先安装JDK; 2)配置环境变量path,classpath可配可不配; 3) public class HelloWorld{ public static void main(String[] args){ "开始学习Java程序设计!"); } } 2、修改下面四个Java源文件中的错误,使其能够编译和运行。 :TestAnother1类不能再使用public修饰,一个源文件中只能有一个类或者接口用public修饰; :源文件中public修饰的类的名字为Testing2,和源文件名字不一致; :Test3类的main方法的形参类型为String[]; :Test4类的main方法必须使用static关键字修饰。

第二章 Java语法基础 一、选择题 1-5 BCADB 6-9 DCCC 二、填空题 1. abc ,a1, _abc, _1a, ab123 #a,const,$abc,1abc,if,$#1sa,$_a,_$q1 2.题目出现问题:代码修改为 ch = (char) (ch+1);结果为’B’;如果直接结果为 98。 (真) false(假) 5. 2 2 false 2 *20/100 (double)m*20/100 三、编程题 1、由命令行输入一个成绩,使用switch结构求出成绩的等级。A:90-100; B:80-89;C:70-79;D:60-69;E:0-59。 import class IfElseTest { public static void main(String[] args) { Scanner sc = new Scanner; int grade = (); if(grade<0 || grade>100){ "aaaa"); (0); } int temp =(int)(grade/10);

java基础测试题及答案

一、选择题(每题2分,共40分) 1、下面哪个是Java语言中正确的标识符(C) A、3com B、import C、that D、this 2、下面哪个语句(初始化数组)是不正确的:(B) A.intx[]={1,2,3};B.intx[3]={1,2,3}; C.int[]x={1,2,3};D.intx[]=newint[]{1,2,3}; 3、下述概念中不属于面向对象方法的是(D)。 A.对象、消息??B.继承、多态??? C.类、封装????D.过程调用 4、下面的代码段中,执行之后i和j的值是什么?(B) inti=1; intj; j=i++*2+3*--i; A.1,2B.1,5C.2,1D.2,2 5、下面哪条语句把方法声明为抽象的公共方法?(B) A.publicabstractmethod(); B.publicabstractvoidmethod(); C.publicabstractvoidmethod(){} D.publicvoidmethod()extendsabstract; 6、下面关于java中类的说法哪个是不正确的?(C) A.类体中只能有变量定义和成员方法的定义,不能有其他语句。 B.构造函数是类中的特殊方法。 C.类一定要声明为public的,才可以执行。 D.一个java文件中可以有多个class定义。 7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?(C)classA { inti; staticStrings; voidmethod1(){}

staticvoidmethod2(){} } A、; B、a.method1(); C、A.method1(); D、A.method2() 8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改 变?(B) A、CardLayout B、FlowLayout C、BorderLayout D、GridLayout 9、下列哪个用户图形界面组件在软件安装程序中是常见的?(C) A.滑块 B.进度条 C.按钮 D.标签 10、在Java中如果要在字符串类型对象s=“JAVA”,中找出‘V’出现的位置可使用下面哪个方法: (B) A.mid(2,s);B.charAt(2);C.s.indexOf(‘V’);D.indexOf(s,’V’); 11、Java中哪个类提供了随机访问文件的功能。(A) A.RandomAccessFile类 B.RandomFile类 C.File类 D.AccessFile类 12、下面哪个方法是类的成员方法,用来获取Socket的输入流。(C) A.getChannel()B.getConnetion() C.getInputStream()D.getStream() 13、给出下面代码: publicclassPerson{ staticintarr[]=newint[10]; publicstaticvoidmain(Stringa[]) { } } 哪个语句是正确的?(B) A.编译时将产生错误; B.输出零; C.编译时正确,运行时将产生错误; D.输出空。 14、A派生出子类B?,B派生出子类C,并且在Java源代码中有如下声明: 1)?Aa0=newA(); 2)?A?a1=newB(); 3)???Aa2=newC();

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