黑马程序员技术交流社区

标题: 赚点小分 [打印本页]

作者: 0416朱珅平    时间: 2015-5-15 22:13
标题: 赚点小分
1、 在某一路径下执行编译好的class文件出错。
异常如下:
E:\liwy>java Test98
Exception in thread "main" java.lang.NoClassDefFoundError: Test98
如果出现了以上错误提示,常见问题有如下两种:1 大小写写错了, 2 路径不正确。
Java常见异常和错误
2、数组错误,访问不存在的数组,数组超出绑定,代码如下:
public class ArrayDemo
{
public static void main(String args[]){
int array[] = null; //声明数组
array = new int[3]; //为数组开辟空间,大小为3
for(int i=0;i<array.length;i++){
System.out.println("array["+i+"]="+i);
}
//访问数组没有开辟的下标,这时会报异常
System.out.println("array[3]="+array[3]);
}
}
异常如下:
array[0]=0
array[1]=1
array[2]=2
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
        at ArrayDemo.main(ArrayDemo.java:11)
以上就是数组的索引超出绑定,就是表示数组越界。
3、某个类没有实例化,访问类属性时,出现空指针异常
class Person{
String name ;  // 声明姓名属性
int age ;   // 声明年龄属性
public void tell(){ // 取得信息
System.out.println("姓名:" + name + ",年龄:" + age) ;
}
};
public class ClassDemo03{
public static void main(String args[]){
Person per = null ;  // 声明对象
//per = new Person() ; // 实例化对象
per.name = "张三" ;  // 为姓名赋值
per.age = 30 ;   // 为年龄赋值
per.tell() ;   // 调用方法,打印信息
}
};
异常如下:
Exception in thread "main" java.lang.NullPointerException
        at ClassDemo03.main(ClassDemo03.java:12)

4、错误的多态,出现异常
class A{     // 定义类A
public void fun1(){  // 定义fun1()方法
System.out.println("A --> public void fun1(){}") ;
}
public void fun2(){
this.fun1() ;  // 调用fun1()方法
}
};
class B extends A{
public void fun1(){  // 此方法被子类覆写了
System.out.println("B --> public void fun1(){}") ;
}
public void fun3(){
System.out.println("B --> public void fun3(){}") ;
}
};
public class PolDemo03{
public static void main(String asrgs[]){
A a = new A() ;   // 实例化了一个父类对象
B b = (B)a ;  // 发生了向下转型关系
b.fun1() ;
b.fun2() ;
b.fun3() ;
}
};
异常如下:
Exception in thread "main" java.lang.ClassCastException: A
        at PolDemo03.main(PolDemo03.java:20)
5、两个数字相除,被除数为0,出现异常
public class ExceptionDemo01{
public static void main(String args[]){
System.out.println("********** 计算开始 ***********") ;
int i = 10 ;  // 定义整型变量
int j = 0 ;   // 定义整型变量
int temp = i / j ; // 此处产生了异常
System.out.println("两个数字相除的结果:" + temp) ;
System.out.println("********** 计算结束 ***********") ;
}
};
异常如下:
********** 计算开始 ***********
Exception in thread "main" java.lang.ArithmeticException: / by zero
        at ExceptionDemo01.main(ExceptionDemo01.java:6)
作者: 木风雪林    时间: 2015-5-15 22:16
顶一个!
作者: 怪学究    时间: 2015-5-15 22:18
超哥说讲完io就要检查这个作业吧?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2