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<A length;_______) ?? ??? ??? ?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<A length;i+=2 )
?? ??? ??? ?total+=a[i];
?? ??? ?g.drawString("total of array element:"+total,25,25);
?? ?}
}
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程序实现如下功能:接受命令行中给出的一个字母串,先将该串原样输出,然后判断该串的第一个字母是否为大写,若是大写,则统计该串中大写字母的个数,并将所有大写字母输出;否则,输出信息串“第一个字母还不是大写字母!”。
/*
编写一个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<str.length();i++){
char c1 = (str.charAt(i));
if((c1<=90)&&(c1>=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<Point>。如果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进行编程。如果参数的数目不足,则显示相应提示信息并退出程序的执行。 -
|