Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回数组中的最大值?_Java_Arrays_Return Value - Fatal编程技术网

Java 返回数组中的最大值?

Java 返回数组中的最大值?,java,arrays,return-value,Java,Arrays,Return Value,我有一个关于这个问题的作业 编写一个函数maxArray,该函数接收double的数组并返回数组中的最大值。使用此函数 double maxArray(double dar[], int size); 我做了他想做的,但是我在主方法中调用语句时遇到了问题 这是我的密码: public class Q3 { public static void main(String[] args) { double dar[] = { 22.5 , 10.23 , 15.04 ,

我有一个关于这个问题的作业

编写一个函数maxArray,该函数接收double的数组并返回数组中的最大值。使用此函数

double maxArray(double dar[], int size);

我做了他想做的,但是我在主方法中调用语句时遇到了问题

这是我的密码:

public class Q3 {

    public static void main(String[] args) {
        double dar[] = { 22.5 , 10.23 , 15.04 , 20.77 };
        double max = maxArray(dar,4);
        System.out.println("the largest number is : " + max);
    }

    double maxArray(double dar[], int size) {
        double maxV = 0;
        for (int i = 0; i < dar.length; i++) {
            if (dar[i] > maxV ) {         
                maxV = dar[i];          
            }
        }
        return maxV;
    } 
}
公共类Q3{
公共静态void main(字符串[]args){
双dar[]={22.5,10.23,15.04,20.77};
双倍最大值=最大阵列(dar,4);
System.out.println(“最大值为:“+max”);
}
双maxArray(双dar[],整数大小){
双最大值=0;
for(int i=0;imaxV){
maxV=dar[i];
}
}
返回maxV;
} 
}

无法从
main()
调用方法的原因是
main()
静态的,而您的方法不是

将其更改为:

static double maxArray(double dar[], int size)
当您使用时,请删除
size
,因为它不是必需的


可能还值得注意的是,如果数组包含负数,则方法将失败。

无法从
main()
调用方法的原因是
main()
static
,而方法不是

将其更改为:

static double maxArray(double dar[], int size)
当您使用时,请删除
size
,因为它不是必需的


可能还值得注意的是,如果数组包含负数,您的方法将失败。

将您的
maxArray
声明为
static
,这样您就可以从静态方法
main()


您可以创建类的实例并从对象调用它。

将您的
maxArray
声明为
static
,这样您就可以从静态方法
main()


您创建类的实例并从对象调用它。

您的maxArray方法是一种非静态方法。如果没有类的实例,则无法从静态方法访问非静态方法,应创建类的实例并调用maxArray方法

double max = new Q3().maxArray(dar,4);

或者,您也可以始终将maxArray方法标记为静态,并直接从主方法调用它。

您的maxArray方法是一种非静态方法。如果没有类的实例,则无法从静态方法访问非静态方法,应创建类的实例并调用maxArray方法

double max = new Q3().maxArray(dar,4);

或者,您也可以始终将maxArray方法标记为静态,并直接从main方法调用它。

您的问题是,您试图从静态的main方法调用非静态的maxArray方法。这是一个问题,因为只能从类的实例调用非静态方法,而静态方法是通过类本身调用的


要么将maxArray设置为静态方法,要么在主方法中初始化一个Q3对象,然后像那样调用maxArray。

您的问题是,您试图从静态的主方法调用非静态方法maxArray。这是一个问题,因为只能从类的实例调用非静态方法,而静态方法是通过类本身调用的


要么将maxArray设置为静态方法,要么在main方法中初始化一个Q3对象,然后像那样调用maxArray。

您的方法必须是静态的,所以您必须说

static double maxArray(double dar[], int size)
以下是一些如何改进方法的提示: 由于不使用“size”值一次,因此可以将其丢弃,也可以将
i
替换为
i


另外,在maxArray方法中初始化
maxV
时,可能需要使用数组的第一个值(
double maxV=dar[0]
),因为如果数组中的所有double都是负数,则数字为0的maxV将是最高的。(您也可以使用尽可能低的双精度值,方法是说
double maxV=double.MIN_NORMAL
)。

您的方法必须是静态的,因此您必须说

static double maxArray(double dar[], int size)
以下是一些如何改进方法的提示: 由于不使用“size”值一次,因此可以将其丢弃,也可以将
i
替换为
i

另外,在maxArray方法中初始化
maxV
时,可能需要使用数组的第一个值(
double maxV=dar[0]
),因为如果数组中的所有double都是负数,则数字为0的maxV将是最高的。(您也可以使用尽可能低的双精度值,方法是说
double maxV=double.MIN\u NORMAL
)。

1)使方法保持静态
2) 请记住,在java中,使用BigDecimal类执行任何十进制算法

1)使您的方法保持静态
2) 请记住,在java中,使用BigDecimal类执行任何十进制算法