public class H{ public static void main(String[] args) { } //1.设计一个方法,能够找出在两个数组中最大的一个数, //并将其在main方法中打印。 //两个数组分别为{21,54,2,63,87,15,9,50}、{11,100,27,94,56} //返回值类型:int //参数列表:int[] a,int[] /** * [max description] * @param a [description] * @param b [description] * @return [description] */ public static int max(int[] a,int[] b){ /*int max = a[0]; for (int num:a) { if(max<num){ max = num; } }*/ /*int max1 = b[0] for (int num:b) { if(max1<num){ max1 = num; } }*/ int max = maxArray(a); int max1 = maxArray(b); // 条件表达式?表达式一:表达式二 // if(max>max1){ // return max; // }else{ // return max1; // } int max2 = max>max1?max:max1; return max2; } /** * [maxArray description] * @param array [description] * @return [description] */ public static int maxArray(int[] array){ int max = array[0]; for (int num:array) { if(max<num){ max = num; } } return max; } //封装一个方法,求一个行列数相同的 //二维数组两条对角线所有元素的和。 //long( 1 2 3 4 5 6 7 8 9 0 0 1 1 2 2 0 2 2 0 1 2 3 4 0 0 +1 1 + 2 2 + 3 3 5 6 7 8 0 3+1 2 + 2 1 + 3 0 9 0 9 2 3 4 5 6 /** * [add description] * @param a [description] * @return [description] */ public static long add(int[][] a){ long sum = 0; for (int i=0;i<a.length;i++) { for (int j=0;j<a[i].length;j++) { if(i==j||i+j==a.length-1){ sum += a[i][j]; } } } return sum; } //封装一个方法,将两个一维数组对应位置相加 //后存入第三个数组并返回。注意数组长度的区别, //比如一长一短时,要避免下标越界 //1 2 3 4 5 //1 2 3 //2 4 6 4 5 /** * [add description] * @param a [description] * @param b [description] * @return [description] */ public static int[] add(int[] a,int[] b){ int max = a.length>b.length?a.length:b.length; a = Arrays.copyOf(a,max); b = Arrays.copyOf(b,max); int[] c = new int[max]; for (int i=0;i<max;i++) { c[i] = a[i]+b[i]; } return c; } }