LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 608|回复: 8

大家帮我看看错在那里

[复制链接]
发表于 2005-4-15 14:56:28 | 显示全部楼层 |阅读模式
我自定了一个当输入是"123"字符串是出现例外的程序,如下:
class Exception123 extends Exception
{
        
        public String toString()
        {
                return"123例外";
        }
}
class Exception123Demo
{
        static void compute(String s) throws Exception123
        {
                if(s == "123")
                        throw new Exception123();
               
        }
}
public class job14_1
{
        public static void main(String args[])
        {
                try
                {
                        Exception123Demo n = new Exception123Demo();
                        n.compute("args[0]");
                }
                catch(Exception123 e0)
                {System.out.println(e0.toString());}
                catch(ArrayIndexOutOfBoundsException e1)
                {System.out.println("输入参数");}
        }
}
主要错在n.compute("args[0]");地方
如果改成n.compute("123");则有正确结果,
但是n.compute("args[0]");在命令行输入什么参数也没结果.
不知道是什么原因 :ask
发表于 2005-4-15 16:40:33 | 显示全部楼层
args[0] 是 job14_1, args[1] 是第一个参数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-16 09:54:52 | 显示全部楼层
呵呵
能不能说的详细点
怎么会事啊?
回复 支持 反对

使用道具 举报

发表于 2005-4-16 10:22:36 | 显示全部楼层
正确的是n.compute(args[0])。。因为args是一个String[]。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-16 17:33:42 | 显示全部楼层
不行啊
我改了还是这样的
回复 支持 反对

使用道具 举报

发表于 2005-4-16 17:49:54 | 显示全部楼层
n.compute(args[1])呢。
回复 支持 反对

使用道具 举报

发表于 2005-4-16 23:13:50 | 显示全部楼层
public static void main(String args[])


public static void main(Strings args[])
回复 支持 反对

使用道具 举报

发表于 2005-4-16 23:39:23 | 显示全部楼层
if(s == "123")
throw new Exception123();


s.trim().equals("123")

n.compute("args[0]");


n.compute(args[0]);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-18 16:58:36 | 显示全部楼层
Post by eTony
s.trim().equals("123")



n.compute(args[0]);

谢谢
但这么改后
不管参数是什么
都会输出"123例外"
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表