1、判断题
- 下标是用于指出数组中位置的数字或变量。(X)
- 同一个数组中可以存放多个不同类型的数据。(X)[数组是相同数据类型的数据元素的集合]
- 数组的下标可以是int型或float型。(X)
- 数组可声明为任何数据类型。(T)
- 执行语句int a[ ]后数组元素的值为0。(X)(int a[ ]为声明数组不分配空间(注意和c,c++的区别))
- 假定整形数组的某个元素被传递给一个方法并被该方法修改。当调用方法执行完毕时,这个元素中含有修改过的值。(T)
- 执行语句 int a[ ] = new int[50]后数组元素为0。(T)
- 对于二维数组s来说,s[2].length给出数组s第二行的元素个数。(X)[第三行]
- 数组作参数时,数组名后必须加方括号。(X)
- 用运算符“==”比较字符串对象时,只要两个字符串包含的是同一个值,结果便为TRUE。(X)(“==”用于比较该字符串是否是引用同一实例,是否指向同一个内存地址。)
- String类字符串在创建后可以被修改。(X)(SttringBuffer才可以修改)
- 方法replace(String str1,String str2)将当前字符串中所有str1子串换成str2子串。(T)
replace() 方法通过用 newChar 字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串。
public String replace(char oldChar, char newChar)
oldChar -- 原字符 newChar -- 新字符。
- 方法compareTo在所比较的字符串相等时返回0。(T)
- 方法IndexOf(char ch,-1)返回字符ch在字符串中最后一次出现的位置。(X)
- 方法startsWith判断当前字符串前缀是否和指定的字符串一致。(T)
2、程序填空题
下面程序的功能为计算数组下标为奇数的各元素的和,完成成程序填空。
import java awt.Graphics;
import java Applet.applet;
public class sumOfArray______Applet{
public void paint(Graphics g){
int a[] = {1,3,5,7,,9,10};
int total = 0;
for(int i=1;i total+=a[i];
g.drawString("total of array element:"+total,25,25);
}
}
import java awt.Graphics; import java Applet.applet; public class sumOfArray extends Applet{ public void paint(Graphics g){ int a[] = {1,3,5,7,,9,10}; int total = 0; for(int i=1;i
3、编程题
- 编写自定义方法生成k个50~100之间的随机整数,在另写一个输出方法。在应用程序的mian()方法中调用这两个方法,生成一个整形数组并输出该数组的所有元素。
- 编写一个Application程序,比较命令行中给出的两个字符串是否相等,并输出比较的结果。
import java.util.*; class CompareString{ public static void main(String[] args) { Scanner input = new Scanner(System.in); String str1 = input.next(); String str2 = input.next(); int result = str1.compareTo(str2); if (result == 0) System.out.println(str1+"与"+str2+"相等"); else System.out.println(str1+"与"+str2+"不相等"); } }
- 编写一个Application程序实现如下功能:接受命令行中给出的一个字母串,先将该串原样输出,然后判断该串的第一个字母是否为大写,若是大写,则统计该串中大写字母的个数,并将所有大写字母输出;否则,输出信息串“第一个字母还不是大写字母!”。
import java.util.*; class test2{ public static void main(String[] args) { Scanner input = new Scanner(System.in); String str = input.nextLine(); System.out.println(str); char c = (str.charAt(0)); if(c<=90&&c>=65){ char[] s = new char[20]; s[0]=c; int count = 1; for(int i = 1;i
=65)){ s[count]=c1; count++; } } System.out.println("该字符串中大写字母的个数:"); System.out.println(count); for (int i = 0; i < count; i++) { System.out.print(s[i]); } } else System.out.println("第一个字母还不是大写字母!"); } } - 编写一个应用程序,接受用户输入的第一行字符串,统计字符个数,然后反序输出。
import java.util.*; class test2 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入字符串:"); String str = input.nextLine(); int count = str.length(); System.out.println("该字符串的字符个数为:"+count); StringBuffer str1 = new StringBuffer(str); str1.reverse(); System.out.println("逆序输出该字符串:"+str1); } }
————————————————————————————————————————————————————
- 定义一个名为Point的类,它的两个数据域为x和y,分别表示坐标。如果x坐标一样,实现comparable接口对x坐标和y坐标上点的比较。
- 定义一个CompareY的实现Comparator
。如果y坐标一样,实现compare方法对他们在x坐标和y坐标上的两个点的比较。 - 随机创建100个点,然后使用Arrays.sort方法分别以他们x坐标的升序和y坐标的升序显示这些点。
————————————————————————————————————————————————————
- 使用Scanner类的实例解析字符串“数学87分,物理76分,英语96分”中的考试成绩,并计算出总成绩以及平均分数。
- 用Date类不带参数的构造方法创建日期,要求日期的输出格式是:星期 小时 分 秒。
- 编程
联系练习Math类的常用方法。 - 使用BigInteger类计算1!+3!+5!+7!+ ...的前30项的和。
- 举例说明哪种异常是有系统通过默认的异常处理程序进行处理的?
- 随机生成50以内的十个不同的整数。
————————————————————————————————————————————————————
- 什么是异常?异常和错误有何区别。Java运行中,通常可能遇到两种错误:一种是致命错误:一种是致命错,例如,程序运行过程中内存空间不足等,这种严重的不正常状态,通常称为出错误(error),程序将不能简单的恢复执行;另一种是非致命错误,例如数组越界等,这种错误通过修正后程序仍然可以继续执行,通常称为异常(exception)。
- 简述Java的异常处理机制。Java异常处理采用面向对象的方法,当程序运行中发生了可以识别的异常时,系统便产生一个该异常类的异常对象,简称异常。系统中一旦产生了异常,便去寻找处理该异常的程序,以保证不产生死机,从而保证程序的安全运行。
- Error与Excepetion类分别代表何总异常?Error:一般是指与虚拟机相关的问题,如系统崩溃、虚拟机错误、动态链接失败等。对于这类错误导致的应用程序中断,程序无法预防和恢复。Exception:是指可被捕获切可能恢复的异常情况,eg:数组下标越界、数字被0出产生异常、输入输出异常等。Exception又可分为运行时异常和非运行时异常。
- 异常类有哪些常用方法?
序号 方法及说明 1 public String getMessage()
返回关于发生的异常的详细信息。这个消息在Throwable 类的构造函数中初始化了。2 public Throwable getCause()
返回一个Throwable 对象代表异常原因。3 public String toString()
使用getMessage()的结果返回类的串级名字。4 public void printStackTrace()
打印toString()结果和栈层次到System.err,即错误输出流。5 public StackTraceElement [] getStackTrace()
返回一个包含堆栈层次的数组。下标为0的元素代表栈顶,最后一个元素代表方法调用堆栈的栈底。6 public Throwable fillInStackTrace()
用当前的调用栈层次填充Throwable 对象栈层次,添加到栈层次任何先前信息中。 - 举例说明哪种异常是有系统通过默认的异常处理程序进行处理的?JVM(Java虚拟机) 异常:由 JVM 抛出的异常或错误。例如:NullPointerException类,ArrayIndexOutOfBoundsException类,ClassCastException类。
- 在Java的异常处理机制中,语句try、catch、和finally各启到什么作用?
使用 try 和 catch 关键字可以捕获异常。try/catch 代码块放在异常可能发生的地方。
try/catch 代码块中的代码称为保护代码,使用 try/catch 的语法如下:
try { // 程序代码 }catch(ExceptionName e1) { //Catch 块 }
Catch 语句包含要捕获异常类型的声明。当保护代码块中发生一个异常时,try 后面的 catch 块就会被检查。
如果发生的异常包含在 catch 块中,异常会被传递到该 catch 块,这和传递一个参数到方法是一样。
finally 关键字用来创建在 try 代码块后面执行的代码块。
无论是否发生异常,finally 代码块中的代码总会被执行。
在 finally 代码块中,可以运行清理类型等收尾善后性质的语句。
finally 代码块出现在 catch 代码块最后,语法如下:
try{ // 程序代码 }catch(异常类型1 异常的变量名1){ // 程序代码 }catch(异常类型2 异常的变量名2){ // 程序代码 }finally{ // 程序代码
- 什么是抛出异常?语句throw的格式如何?
throws/throw关键字:
如果一个方法没有捕获一个检查性异常,那么该方法必须使用 throws 关键字来声明。throws 关键字放在方法签名的尾部。
也可以使用 throw 关键字抛出一个异常,无论它是新实例化的还是刚捕获到的。
下面方法的声明抛出一个 RemoteException 异常:
import java.io.*; public class className { public void deposit(double amount) throws RemoteException { // Method implementation throw new RemoteException(); } //Remainder of class definition }
一个方法可以声明抛出多个异常,多个异常之间用逗号隔开。
例如,下面的方法声明抛出 RemoteException 和 InsufficientFundsException:
import java.io.*; public class className { public void withdraw(double amount) throws RemoteException, InsufficientFundsException { // Method implementation } //Remainder of class definition }
可以像下面这样定义自己的异常类:
- 如何创建自己的异常?
在 Java 中你可以自定义异常。编写自己的异常类时需要记住下面的几点。
-
所有异常都必须是 Throwable 的子类。
-
如果希望写一个检查性异常类,则需要继承 Exception 类。
-
如果你想写一个运行时异常类,那么需要继承 RuntimeException 类。
class MyException extends Exception{ }
-
自定义的异常类格式如何?
只继承 Exception 类来创建的异常类是检查性异常类。
下面的 InsufficientFundsException 类是用户定义的异常类,它继承自 Exception。
一个异常类和其它任何类一样,包含有变量和方法。
实例
// 文件名InsufficientFundsException.java import java.io.*; public class InsufficientFundsException extends Exception { private double amount; public InsufficientFundsException(double amount) { this.amount = amount; } public double getAmount() { return amount; } }
-
编写程序,定义一个circle类,其中有求面积的方法,当圆的半径小于0时抛出一个自定异常。
-
编写程序,从键盘读入5个字符放入一个字符数组,并在屏幕上显示。程序中处理数组越界的异常。
-
编写Java Application,要从命令行以参数形式读入两个数据,计算它们的和,然后将和输出。对自定义异常OnlyOneException与NoOprandException进行编程。如果参数的数目不足,则显示相应提示信息并退出程序的执行。
-