0

我正在编写一个代码来计算我的 args 变量中的最大数字以及 args 中最高和最低整数之间的最大差异。

目前我的代码如下所示:

public int max(int [] args) {//array of ints
    int m = args[0]; // first element

    //initialisation; condition; update
    for (int j = 1; j < args.length; ++j) {
        // statement in a block:
    if (m < args[j]) {
        m = nums[j];
        // if m is less than the j-th element
        // then store this new smaller value
        }
    }
    return m;

}

    public int min(int [] args) {//array of integerss
        int mi = nums[0]; // first element

        //initialisation; condition; update
        for (int j = 1; j < args.length; ++j) {
            // statement in a block:
            if (mi > args[j]) {
                mi = args[j];
            // if m is greater than the j-th element
            // then store this new largest value
        }
    }
        return mi;

} //通过将数字之和除以计数来计算平均值

    public void main(String [] args) {
        System.out.println(args[0]);

        SimpleCalc fm = new SimpleCalc();
        **System.out.println(fm.max(nums));**
        **System.out.println(fm.max(nums) - fm.min(nums));**

当我使用数组时它正在返回值,但它似乎没有用 args 编译。我不知道如何解决这个问题。

4

2 回答 2

2

它无法编译,因为args, 在main方法中是一个 s 数组String。您的方法将 s 数组int作为参数。因此,您应该将sargs数组转换为Strings 数组int,并将这个新的ints 数组传递给您的minandmax方法。用于Integer.parseInt将 aString转换为int

于 2011-08-10T11:32:59.620 回答
0

看来你有一个错字max()

m = nums[j]应该是m = args[j]

也在min(),int mi = nums[0];应该是int mi = args[0];

另外,nums[in main] 来自哪里?您应该在将它传递给max()和之前创建这个数组min()

于 2011-08-10T11:25:14.543 回答