下面是一个温度检测的小程序,请问是怎么回事啊,。执行不了
import java.io.*;//自定义异常类
class TmpException extends Exception 
{
TmpException(String a) 
{
super(a);
}
}public class Test3
{


public static void main(String args[])
{
float tmp;
try {

 tmp = Float.parseFloat(args[0]);


catch (ArrayIndexOutOfBoundsException e)
{
System.out.println("请输入一个参数");

catch (NumberFormatException e) 
{
System.out.println("请输入一个数字");

catch (TmpException e)
{
System.out.println("输出温度"+tmp);

}

static void checktmp(float t) throws TmpException
{
if (t < -273.15) 
{
throw new TmpException("温度不能低于绝对零度");
}
}}

解决方案 »

  1.   


    //自定义异常类
    class TmpException extends Exception {
    TmpException(String a) {
    super(a);
    }
    }public class Test3 { public static void main(String args[]) {
    float tmp = 0f;   //初始化
    try { tmp = Float.parseFloat(args[0]);
    checktmp(tmp); //要调用这个方法才可能抛出自定义异常
    } catch (ArrayIndexOutOfBoundsException e) {
    System.out.println("请输入一个参数");
    } catch (NumberFormatException e) {
    System.out.println("请输入一个数字");
    } catch (TmpException e) {
    System.out.println("输出温度" + tmp);
    }
    } static void checktmp(float t) throws TmpException {
    if (t < -273.15) {
    throw new TmpException("温度不能低于绝对零度");
    }
    }}
    两个问题 
      

  2.   

    static void checktmp(float t) throws TmpException
    {
    if (t < -273.15) 
    {
    throw new TmpException("温度不能低于绝对零度");
    }
    }你只是定义了一个静态的方法,没有调用呀!
      

  3.   

    checktmp(tmp); //要调用这个方法才可能抛出自定义异常
    楼上的星星已经写的很清楚了,要注意看呀,快给别人揭贴吧!