}
应用程序中的main 方法中的参数args 能接受你从键盘键入的字符串.首先编译上述源程序
D:\\>javac Ex3.java
编译通过后,你要使用解释器java.exe来执行你的字节码文件
D:\\>java Ex3 \” 23324.9\回车)
这时,程序中的args[0],arg[1],arg[2]分别得到字符串\和\
在源程序中我们再将这些字符串转化为数值进行运算,得到所需的结果.
4、将一个字符串数组按字典序重新排列.
解:class Ex4{
public static void main(String args[]){
String a[]={\
for(int i=0;i
{for(int j=i+1;j
{ if(a[j].compareTo(a[i])<0)
{ String temp=a[i];
a[i]=a[j];
a[j]=temp; } } }
for(int i=0;i
{ System.out.print(\ } } }
5、编写应用程序,分析字符串,分别输出字符串的单词,并统计出单词个数.
解:import java.util.*;
public class Ex5{
public static void main(String args[]){
String s=\
StringTokenizer fenxi=new StringTokenizer(s,\ //空格和逗号做分
int number=fenxi.countTokens();
while(fenxi.hasMoreTokens())
{ String str=fenxi.nextToken();
System.out.println(str);
System.out.println(\还剩\个单词\ }
System.out.println(\共有单词\个\ } }
6、使用java.lang 包中System 类的静态方法arraycopy 可以实现数组的快速拷贝
解:class ArrayCopy{
public static void main(String args[]){
char a1[]={'a','b','c','d','e','f'},b1[]={'1','2','3','4','5','6'};
System.arraycopy(a1,0,b1,1,a1.length-1);
System.out.println(new String(a1));
System.out.println(new String(b1));
byte a2[]={97,98,99,100,101,102},b2[]={65,67,68, 69, 70, 71};
System.arraycopy(b2,0,a2,3,b2.length-3);
System.out.println(new String(a2));
System.out.println(new String(b2)); } }
7、编写应用程序,实现字符串“Dot saw I was Tod”的倒转。
解:
public class StringsDemo {
public static void main(String[] args) {
String palindrome = \ int len = palindrome.length();
StringBuffer dest = new StringBuffer(len);
for (int i = (len - 1); i >= 0; i--) {
dest.append(palindrome.charAt(i)); }
System.out.println(dest.toString()); } }
第7章略
第8章 习题及思考题
1. 什么是异常?简述Java的异常处理机制。 答:异常是当程序运行的时候,由于各种不可避免的原因而产生的错误。例如除数为零、文件找不到而无法读写、网点连接不上等等。
Java程序把运行中各种可能出现的错误都看作异常,Java提供的异常情况处理机制叫异常处理。Java 提供了两种不同的异常抛出机制:throws抛出异常和 throw 抛出异常。throws抛出异常又叫间接抛出异常,throw抛出异常又叫直接抛出异常。throws抛出异常和方法说明联系在一起,是针对以下情况:调用的方法抛出了异常、检测到了错误并使用throw语句抛出异常、程序代码有错误从而异常。方法中出现的异常由catch语句捕获,进行处理。
2. 系统定义的异常与用户自定义的异常有何不同?如何使用这两类异常?
答:系统定义的运行异常通常对应着系统运行错误。由于这种错误可能导致操作系统错误甚至是整个系统的瘫痪,所以需要定义异常来特别处理。而用户自定义异常用来处理程序中可能产生的逻辑错误,使得这种错误能够被系统及是识别并处理,而不至扩散产生更大影响,从而使用户程序更为强健,有更好的容错能力,并使整个系统更加安全稳定。
使用:
(1)声明一个新的异常类,是之以Exception类或其他莫个已经存在的系统异常类或用户异常类为父类。
(2)为新的异常类定义属性和方法,或重载父类的属性和方法,使这些属性和方法能过体现该类所对应的错误的信息。
只有定义可以场类。系统才能够识别特定的运行错误,才能够及时的控制和处理运行错误,所以定义足够多的异常类是构件一个稳定完善的应用系统的重要基础之一。
3、在java的异常处理机制中,try程序块、catch程序块和finally程序块各起到什么作用?
答:Try程序块作用: 说明抛出异常的部位,该部位含有抛出异常的语句。
Catch程序块作用:接抛出的异常类进行捕获,并进行处理。当catch前面的try 块中发生了一个异常,try-catch语句就会自动在try块后面的各个catch块中,找出与该异常类相匹配的参数。当参数符合以下3个条件之一时,就认为这个参数与产生的异常相匹配:
l 参数与产生的异常属于一个类;
l 参数是产生的异常的父类;
l 参数是一个接口时,产生的异常实现了这一接口。
当产生的异常找到了第一个与之相匹配的参数时,就执行包含这一参数的catch语句中的java代码。
Finally程序快作用:finally语句可以说是为异常处理事件提供的一个清理机制,一般是用来关闭文件或释放其他的系统资源。作为try-catch-finally结构的一部分,可以没有 finally语句,如果存在finally语句,不论try块中是否发生了异常,是否执行过catch 语句,都要执行finally语句。
4.编写从键盘读入10个字符放入一个字符数组,并在屏幕上显示它们的程序。请在程序中处理数组越界的异常.
import java.io.*;
class ReadChar {
public static void main(String args[])throws IOException {
char buf[]=new char[10]; //10字节的数组用于存字符串,buf为局部变量,