Java 获取数组的最小和最大部分
我有一个二维字符串数组,我想找出每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 等 编辑 抱歉,这有点混乱,数组是一个二维字符串数组,第一列是日期,第二列和第三列是双精度的。我想找出第二列的最大值和第三列的最小值 以下是我得到的: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,
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等?