求高手赐招

来源:百度知道 编辑:UC知道 时间:2024/06/02 04:40:48
小弟最近刚学JAVA,有道习题编译出错,求高手指教一下:
//从命令行输入五个整数,分别输入23、56、37、86、43,求奇数的个数及其和.
public class Xt7_1{
public static void main(int args[]){
int sum=0,n=0;

for(int i=0;i<args.length;i++){

if(args[i]%2!=0){
sum=args[i]+sum;
n=n+1;
}
}
System.out.println("奇数的个数和sum="+sum+"\n共有奇数"+n+"个");
}
}
我虽知问题出在哪,却不会修改,还望高手指点一下,谢谢!

public static void main(String args[]) {
int sum = 0, n = 0;

for (int i = 0; i < args.length; i++) {

if (Integer.parseInt(args[i]) % 2 != 0) {
sum = Integer.parseInt(args[i]) + sum;
n = n + 1;
}
}
System.out.println("奇数的个数和sum=" + sum + "\n共有奇数" + n + "个");
}
}

public static void main(int args[]){
这里面的参数得是String[] args,
否则会找不到主线程main的类Exception in thread "main" java.lang.NoSuchMethodError: main。这样修改后,args[i]便是String类型的,要让它变为整型的,需要改写为Integer.parseInt(args[i]);这样子应该就没有问题了

main函数的参数是String args[]

public class Xt7_1{
public static void main(String args[]){
int sum=0,n=0;
for(int i=0;i<args.length;i++){
int d;
d=Integer.parseInt(args[i]);
if(d%2!=0){
sum=args[i]+sum;
n=n+1;
}
}
System.out.println("奇数的个数和sum="+sum+"\n共有奇数"+n+"个")