对Algorithm1的补充:
1.
package java3;
public class Top1 {
public static void main(String[] args) {
//找出数组中最大元素
int[] a= {1,3,6,9,5,6};
int max=a[0];
for(int i=0;i<a.length;i++)
if(a[i]>max) {
max=a[i];
}
System.out.println(max);
}
}
package java3;
import java.util.Scanner;
public class Top2 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//计算数组元素平均值
int sum=0;
int[] a= {1,2,3,4,5,6,7,8,9};
for(int i=0;i<a.length;i++) {
sum+=i;
}
System.out.println(sum);
System.out.println(sum/a.length);
}
}
package java3;
public class Top3 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//复制数组
int[] a= {1,2,3,4,5,6,7};
int N=a.length;
int[] b=new int[N];
for(int i=0;i<N;i++) {
b[i]=a[i];
System.out.println(b[i]);
}
}
}
package java3;
import javax.crypto.AEADBadTagException;
public class Top4 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//颠倒数组元素的顺序
int[] a=new int[] {1,2,3,4,5,6,7,8};
int N=a.length;
for(int i=a.length-1;i>=0;i--) {
System.out.println(a[i]);
}
//颠倒数组元素的顺序
int[] a1=new int[] {1,2,3,4,5,6,7,8};
int N1=a1.length;
for(int i=0;i<N1/2;i++) {
int temp=a1[i];
a1[i]=a1[N-1-i];
a1[N-1-i]=temp;
System.out.println(a1[i]);
}
//颠倒字符元素的顺序
String str="123456789";
StringBuffer sb=new StringBuffer(str);
System.out.println(sb.reverse());
}
}
package java3;
public class Top5 {
//矩阵乘法
public static int[][] matrix(int[][] a,int[][] b){
if(a[0].length!=b.length) return null;
int y=a.length;//a的行数
int x=b[0].length;//b的列数
int[][] c=new int[y][x];//c矩阵的行数y,列数x
for(int i=0;i<y;i++)
for(int j=0;j<x;j++)
//c矩阵的第i行j列所对应的数值,等于a矩阵的第i行分别乘以b矩阵的第j列之和
for(int k=0;k<b.length;k++)
c[i][j]+=a[i][k]*b[k][j];
return c;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
int[][]a=new int[][] {{1,2,3},{2,3,4},{3,4,5}};
int[][]b=new int[][] {{1,2,3,4},{2,3,4,5},{3,4,5,6}};
int[][] c= matrix(a,b);
int y=a.length;//a的行数
int x=b[0].length;//b的列数
System.out.println(c[y-3][x-4]);
}
}