Zoya
2016-03-30 18:41
package com.jun;
public class Test {
public static void main(String[] args){
TryCatchTest tct = new TryCatchTest();
int result=tct.test();
}
public class TryCatchTest{
int divider = 10;
int result = 100;
public int test(){
try{
while(result>-1)
result = result+100/divider;
return result;
}catch(Exception e){
e.printStackTrace();
System.out.println("抛出异常了");
return -1;
}
}
}
}
因为TryCatchTest是一个动态的内部类,创建这样的对象必须有实例与之对应,程序是在静态方法中直接调用动态内部类会报这样错误。这样的错误好比类中的静态方法不能直接调用动态方法。可以把该内部类声明为static。或者不要在静态方法中调用。
public static class TryCatchTest
{
}
你没有输出结果的语句啊,定义了整形变量 result 接受函数的输出结果,但是这个结果你没有处理啊 应该在int result=tct.test(); 后加上输出语句 System.out.println(result);
我看错了。。。。
因为一个java文件中只能有一个public class,
你把第二个类放在其他java文件中,或者是将第二个类的public修饰符去掉,就可以了。
/**
* 错误在于TryCatchTest类不要放到主程序中....,这个运行正确
* */
public class TryCatchTest {
int divider = 10;
int result = 100;
public int test(){
try{
while(result>-1)
result = result+100/divider;
return result;
}catch(Exception e){
e.printStackTrace();
System.out.println("抛出异常了");
return -1;
}
}
public static void main(String[] args){
TryCatchTest tct = new TryCatchTest();
int result=tct.test();
}
Java入门第三季
409792 学习 · 4340 问题
相似问题