为了账号安全,请及时绑定邮箱和手机立即绑定

大家帮我看看这段代码有什么问题,编译不了!!!!

http://img1.sycdn.imooc.com//56fbadec0001406b11380448.jpg

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;

}

}

}

}


正在回答

5 回答

因为TryCatchTest是一个动态的内部类,创建这样的对象必须有实例与之对应,程序是在静态方法中直接调用动态内部类会报这样错误。这样的错误好比类中的静态方法不能直接调用动态方法。可以把该内部类声明为static。或者不要在静态方法中调用。

public static class TryCatchTest
{


}


0 回复 有任何疑惑可以回复我~

你没有输出结果的语句啊,定义了整形变量 result 接受函数的输出结果,但是这个结果你没有处理啊  应该在int result=tct.test(); 后加上输出语句 System.out.println(result);

1 回复 有任何疑惑可以回复我~

我看错了。。。。

0 回复 有任何疑惑可以回复我~

因为一个java文件中只能有一个public class,

你把第二个类放在其他java文件中,或者是将第二个类的public修饰符去掉,就可以了。

0 回复 有任何疑惑可以回复我~

/**

 * 错误在于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();

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

大家帮我看看这段代码有什么问题,编译不了!!!!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信