简单java程序问题

[复制链接]
查看11 | 回复3 | 2010-12-25 15:58:07 | 显示全部楼层 |阅读模式
public class MyMath {
public static int max(int a,int b){
return a>b?a:b;
}
public static int max(int a,int b,int c){
return max(max(a,b),c);
}
public static void main(String args[]){
System.out.print("请输入三个数字(中间用空格隔开):");
args=new String[3];
int a=Integer.parseInt(args[0]);
int b=Integer.parseInt(args[1]);
int c=Integer.parseInt(args[2]);
System.out.println(max(a,b,c));
}
}
出现错误:请输入三个数字(中间用空格隔开):Exception in thread "main" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:415)
at java.lang.Integer.parseInt(Integer.java:497)
at MyMath.main(MyMath.java:12)

回复

使用道具 举报

千问 | 2010-12-25 15:58:07 | 显示全部楼层
public static void main(String args[]){System.out.print("请输入三个数字(中间用空格隔开):");args=new String[3];错误在这里,args是用来接收你 运行JAVA程序时候的参数。而你在这里重新new string[3],导致数组里面每个参数为NULL了 你这个程序可以删除掉args=new String[3];这句,然后在命令行CMD那里运行JAVA的时候java MyMath12 35 100,这样传递参数过去数组args就自动赋值了。这样就不会出错了。不然你就要接受从控制台输入了System.out.print("请输入三个数
回复

使用道具 举报

千问 | 2010-12-25 15:58:07 | 显示全部楼层
public class MyMath { public static int max(int a,int b){return a>b?a:b; } public static int max(int a,int b,int c){return max(max(a,b),c); } public static void m
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行