在数组中创建两个最大值的产品(Java)

时间:2016-12-17 09:05:33

标签: java arrays oop

假设我们有一个像这样的双数组:

double [] array=new double[5]

用户输入存储在数组中的值。我的任务是确定数组中两个最大值的乘积。

我该怎么做?

感谢。

3 个答案:

答案 0 :(得分:1)

$data = $request->all();

for ($i = 0; $i < count($data['delivery_date']); $i++) {
    $db = new Order;
    $db->delivery_date = $data['delivery_date'][$i];
    $db->delivery_cost = $data['delivery_cost'][$i];
    ....
    $db->save();
}

答案 1 :(得分:0)

import java.util.Arrays;
import java.util.Collections;

class Test {

    public static void main(String args[]) {
        double array[] = {2, 98, 1, 5, 3, 6};

        for (int i = 0; i < array.length; i++) {
            for (int j = i + 1; j < array.length; j++) {
                if (array[j] > array[i]) {
                    double temp = array[i];
                    array[i] = array[j];
                    array[j] = temp;
                }
            }
        }

        double product = array[0] * array[1];
        System.out.println(product);
    }
}

P.S:

我已经编辑了我之前的回答,因为我发现Arrays.sort()方法不适用于类型为double的类型: - intbyte,{仅{1}},shortchar数组。

答案 2 :(得分:0)

import java.util.Scanner;
public class HelloWorld{

    public static void main(String []args){
        Scanner scan = new Scanner(System.in);
        double[] array = new double[5];
        for(int i = 0; i<5; i++)
        {
            array[i] = scan.nextDouble();
        }
        double max = array[0];
        for(int i= 1; i<5; i++)
        {
            if(array[i] > max)
            {
                max = array[i];
            }
        }
        double prev = array[0];
        for(int i= 1; i<5; i++)
        {
            if(array[i] > prev && array[i] < max)
            {
                prev = array[i];
            }
        }
        System.out.println(max*prev);
    }
}