参数的平均值

时间:2013-12-05 17:26:27

标签: java average args

我有这段代码来获取args的平均值:

public class Mariamne
{
    public static void main(String[] args)
    {
        System.out.print("\n");
        try
        {
            int sum = 0;
            float prom = 0;
            for (int i = 0; i<=args.length; i++)
            {
                int a = Integer.parseInt(args[i]);
                sum = a + sum;
                prom = prom + 1;
            }
            System.out.println(sum/prom);
        }
        catch(Exception e)
        {
            System.out.println("Error.");
        }
    }
}

由于某种原因,我无法让它工作(没有例外,它说“数组越界”),有没有办法来定义args的大小?请帮忙!

2 个答案:

答案 0 :(得分:5)

您正在尝试访问索引args.length。将您的for更改为此

for (int i = 0; i < args.length; i++) // Without the = in the condition

在任何数组中,最大可访问索引始终为array.length - 1。这就是为什么当您尝试访问args.length数组中的args索引时,它会抛出ArrayIndexOutOfBoundsException

答案 1 :(得分:0)

你超过了int变量i的args的索引限制。 索引可以在0到len-1之间。 只需将i<=args.length替换为i<args.lengthi<=args.length-1