当前位置:编程学习 > JAVA >>

求大神帮助用java实现一个算法

 先求下列数组0每一行的最大值,然后用最大值分别减去每一行的 数,组成新的数组1,然后去整个数组的最大,最小值,然后用(最大值减去最小值*0。5)除以(数组1里的数+0.5*最大值),得出一个数组2 ,然后用得出的数组的每一列的数分别乘以下面的数  ,0.02,0.03,0.05,0.06,0.02,0.01,0.01,0.06,0.03,0.10,0.08,0.10,0.02,0.02,0.06,0.04,0.04,0.08,0.03,0.05,0.06,0.01,0.01,0.01,然后求和


                                                    
                                                  数组0
                                                {70,82,65,75,85}, 
        {30,72,35,32,70}, 
        {75,55,45,20,30},
        {50,82,70,52,38},
        {35,65,20,82,55},
        {72,20,35,80,50},
        {18,20,70,80,60},
        {40,20,72,68,35},
        {52,80,20,78,30},
        {20,38,82,58,75},
        {78,20,52,18,34},
        {82,36,30,50,72},
        {52,40,55,62,56},
        {50,78,66,82,20},
        {72,83,58,56,36},
        {40,42,55,82,78},
        {58,78,60,36,38},
        {36,60,80,38,20},
        {82,38,20,60,78},
        {80,76,56,82,40},
        {80,56,40,38,60},
        {60,50,80,68,62},
        {65,48,80,72,66},
        {60,66,82,50,78} --------------------编程问答-------------------- 这种问题听起来很复杂,其实只需要按照逻辑一步一步来就行了。其实很简单,而且也没有什么能够取巧的地方。 --------------------编程问答-------------------- Arrays.sort(int[] a) --------------------编程问答-------------------- .  同感LS --------------------编程问答-------------------- 求大神完成,急需!!!!
--------------------编程问答-------------------- 因为是新手,所以关键问题的格式转换不会,有点晕 --------------------编程问答-------------------- 求大神帮呀,帮帮啦 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 没人会么???
大神呢
--------------------编程问答-------------------- 额。。为什么看了好几位新手都没有得到帮助。。 --------------------编程问答-------------------- Arrays.sort(int[] a)

看到2楼我笑死了 --------------------编程问答-------------------- LZ说说卡在哪一步了,不然总不能让别人上源码帮你吧 --------------------编程问答-------------------- /**然后去整个数组的最大,最小值,对于这个我不知道你是要去掉最大最小
 * 还是求出最大最小,我是当求最大最小的,还有就求和,我不知道是求
 * 所有数的和还是求每列的,我求每列的和。本代码没有封装也没有整理,
 * 有不少重复的代码*/
public class Array {

public static void main(String[] args) {
double[][] array = new double[][] {{70,82,65,75,85}, 
{30,72,35,32,70},{75,55,45,20,30},
        {50,82,70,52,38},{35,65,20,82,55},
        {72,20,35,80,50},{18,20,70,80,60},
        {40,20,72,68,35},{52,80,20,78,30},
        {20,38,82,58,75},{78,20,52,18,34},
        {82,36,30,50,72},{52,40,55,62,56},
        {50,78,66,82,20},{72,83,58,56,36},
        {40,42,55,82,78},{58,78,60,36,38},
        {36,60,80,38,20},{82,38,20,60,78},
        {80,76,56,82,40},{80,56,40,38,60},
        {60,50,80,68,62},{65,48,80,72,66},
        {60,66,82,50,78}};

//用每一行的最大值减去这一行的数
       
for(int i = 0 ; i < array.length ; i++) { 
double k = 0 ;
k = array[i][0] ;
for(int j = 1 ; j < array[i].length ; j++) {
 if(k < array[i][j]) 
k = array[i][j] ;
 }
for(int h = 0 ; h < array[i].length ; h++){
array[i][h] = k - array[i][h];
}
}


//求出数组的最大值
double max = 0 ;
double[] a = new double[24];

for(int i = 0 ; i < array.length ; i++){
max = array[i][0] ;
for(int j = 0 ; j < array[i].length-1 ; j++) {
if(array[i][j] < array[i][j+1])
max = array[i][j+1];
a[i] = max ;
}
}
max = a[0];
for(int i = 0 ; i < a.length-1 ; i++){
if(max < a[i+1])
max = a[i+1];
}

//求出数组的最小值
double min = 0 ;
double[] m = new double[24];
for(int i = 0 ; i < array.length ; i++){
min = array[i][0] ;
for(int j = 0 ; j < array[i].length-1 ; j++) {
if(array[i][j] > array[i][j+1])
min = array[i][j+1];
m[i] = min ;
}
}
min = m[0];
for(int i = 0 ; i < m.length-1 ; i++){
if(min > m[i+1])
min = m[i+1];
}

//(最大值减去最小值*0。5)除以(数组1里的数+0.5*最大值)
double cha = max - min * 0.5 ;
for(int i = 0 ; i < array.length ; i++) { 
for(int j = 0 ; j < array[i].length ; j++) {
        array[i][j] = cha / (array[i][j] + max * 0.5);
}
}


//每一列乘下面的数再求和
double[] s = new double[] {0.02,0.03,0.05,0.06,0.02,0.01,0.01,
0.06,0.03,0.10,0.08,0.10,0.02,0.02,0.06,0.04,0.04,0.08,
0.03,0.05,0.06,0.01,0.01,0.01};

for(int i = 0 ; i < array[0].length ; i++){
for(int j = 0 ; j < array.length ; j++){
array[j][i] = array[j][i] * s[j] ;
    array[j][i] += array[j][i];
}
System.out.println(array[23][i]);
}

}

}
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,