Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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 - Fatal编程技术网

Java 获取数组的最小和最大部分

Java 获取数组的最小和最大部分,java,arrays,Java,Arrays,我有一个二维字符串数组,我想找出每13个元素的最大值 数组为数组[String date][String price1][String price2]。 我想要最高价格10-12,然后是价格11-13,然后是价格12-14,等等 {1,2,3,4,5,6,7,8,9,10,9,8,11,6,5,4,3,2,1} 第一个13{1,2,3,4,5,6,7,8,9,10,9,8,7}的列表将返回10 第二个13{2,3,4,5,6,7,8,9,10,9,8,7,11}的列表将返回11 第三个13{3,

我有一个二维字符串数组,我想找出每13个元素的最大值

数组为数组[String date][String price1][String price2]。 我想要最高价格10-12,然后是价格11-13,然后是价格12-14,等等

{1,2,3,4,5,6,7,8,9,10,9,8,11,6,5,4,3,2,1}

第一个13{1,2,3,4,5,6,7,8,9,10,9,8,7}的列表将返回10

第二个13{2,3,4,5,6,7,8,9,10,9,8,7,11}的列表将返回11

第三个13{3,4,5,6,7,8,9,10,9,8,7,11,6}的名单将返回11 等

编辑 抱歉,这有点混乱,数组是一个二维字符串数组,第一列是日期,第二列和第三列是双精度的。我想找出第二列的最大值和第三列的最小值

以下是我得到的:

    String str = "";

    for(int ii = 1 ; ii < array.length ; ii++){
        str = str+array[ii][2]+",";

        if(ii==13){

            str = Math.max(str.substring(0, str.lastIndexOf(',', str.lastIndexOf(',') - 1)));

            System.out.println(str);
        }
    }
String str=”“;
for(int ii=1;ii
如果处理的是数字,那么数组不应该存储字符串(1,11和2('2'>'11')之间的比较会变得棘手:-)

您可以插入另一个数组,并在范围之外创建一个树集,该树集可用于提取最小值和最大值


如果处理的是数字,那么数组不应该存储字符串(1,11和2('2'>'11')之间的比较比较比较棘手:-)

您可以插入另一个数组,并在范围之外创建一个树集,该树集可用于提取最小值和最大值

这是我的解决方案(如果您处理的是整数数组)

但是您首先说的是[String date][String price 1][String price 2],然后

后来你举了一个例子: 第一组13{1,2,3,4,5,6,7,8,9,10,9,8,7}将返回10,第二组13{2,3,4,5,6,7,8,9,10,9,8,7,11}将返回11,第三组13{3,4,5,6,7,8,9,10,9,8,7,11}将返回11等 请澄清这一点。

代码:

public class SO_MinMaxArrayGroups {
    public static void main(String[] args) {
        int arr[] = new int[] { 1, 2, -3, 4, 5, 6, 17, 13, 14, 14, 14, 12, 1, 2, 2, 4, 3, 4,1, 2, 3, 4, 5, 6, 12, 13, -14, 14, 14, 12, 1, 2, 2, 4, 3, 4,1,4,7 };
        for (int i = 0; i < 3; i++) {
            int max = arr[13*i];
            int min = arr[13*i];
            for (int j = i * 13; j < (i + 1) * 13; j++) {
                //System.out.println("Checking :" + arr[j]);
                if (arr[j] > max) {
                    max = arr[j];
                }
                if (arr[j] < min) {
                    min = arr[j];
                }
            }
            System.out.println("Secion :"+(i+1)+"  Max : " + max + " Min : " + min);
        }
    }
}
Secion :1  Max : 17 Min : -3
Secion :2  Max : 13 Min : 1
Secion :3  Max : 14 Min : -14
这是我的解决方案(如果您处理的是整数数组)

但是您首先说的是[String date][String price 1][String price 2],然后

后来你举了一个例子: 第一组13{1,2,3,4,5,6,7,8,9,10,9,8,7}将返回10,第二组13{2,3,4,5,6,7,8,9,10,9,8,7,11}将返回11,第三组13{3,4,5,6,7,8,9,10,9,8,7,11}将返回11等 请澄清这一点。

代码:

public class SO_MinMaxArrayGroups {
    public static void main(String[] args) {
        int arr[] = new int[] { 1, 2, -3, 4, 5, 6, 17, 13, 14, 14, 14, 12, 1, 2, 2, 4, 3, 4,1, 2, 3, 4, 5, 6, 12, 13, -14, 14, 14, 12, 1, 2, 2, 4, 3, 4,1,4,7 };
        for (int i = 0; i < 3; i++) {
            int max = arr[13*i];
            int min = arr[13*i];
            for (int j = i * 13; j < (i + 1) * 13; j++) {
                //System.out.println("Checking :" + arr[j]);
                if (arr[j] > max) {
                    max = arr[j];
                }
                if (arr[j] < min) {
                    min = arr[j];
                }
            }
            System.out.println("Secion :"+(i+1)+"  Max : " + max + " Min : " + min);
        }
    }
}
Secion :1  Max : 17 Min : -3
Secion :2  Max : 13 Min : 1
Secion :3  Max : 14 Min : -14

请包括到目前为止已经尝试过的…我有点困惑。
array[String date][String price1][String price2]
不是3D数组吗?当你谈论
{1,2,3,4,5,6,7,8,9,10,9,8,11,6,5,4,3,2,1}
及其部分时,那不是一个1D数组吗?另外,您是否可以发布到目前为止您尝试的代码,以及您在这项任务中遇到的具体问题?使用字符串来指示价格和查找最大值?为什么不使用int,float等?请包括到目前为止已经尝试过的东西…我有点困惑。
array[String date][String price1][String price2]
不是3D数组吗?当你谈论
{1,2,3,4,5,6,7,8,9,10,9,8,11,6,5,4,3,2,1}
及其部分时,那不是一个1D数组吗?另外,您是否可以发布到目前为止您尝试的代码,以及您在这项任务中遇到的具体问题?使用字符串来指示价格和查找最大值?为什么不使用int、float等?