1. 게으르게 2차원 배열을 무작위로 생성하는 함수를 작성했습니다
/* * 自动创建随机为100以内的二维数组: int nums[x][y] * */ public static int[][] CreatedDemArray(int x,int y){ int nums[][]=new int[x][y]; for(int i=0;i<nums.length;i++){ for(int j=0;j<nums[i].length;j++){ nums[i][j]=(int)(Math.random()*100); } } return nums; }
2. 5x8 2차원 함수를 정의합니다
public static void main(String[] args) { createdarray ca=new createdarray(); int nums[][]=CreatedDemArray(5,8); }
3. 길이가 40인 int 배열을 정의하고 System.arraycopy를 사용하여 2차원 배열을 1차원 배열 temp
public static void main(String[] args) { createdarray ca=new createdarray(); int nums[][]=CreatedDemArray(5,8); //定义整数数组 int[] temp=new int[40]; //通过 arraycopy方法来将二维数组填充到一维数组temp中 for(int i=0;i<nums.length;i++){ System.arraycopy(nums[i],0,temp,i*8,8); } }
4에 채웁니다. 1차원 배열을 채운 후 뭔가를 하고 싶다면 1- 2차원 배열에
public static void main(String[] args) { createdarray ca=new createdarray(); int nums[][]=CreatedDemArray(5,8); int[] temp=new int[40]; for(int i=0;i<nums.length;i++){ System.arraycopy(nums[i],0,temp,i*8,8); } // 对一维数组进行排序 Arrays.sort(temp); // 将排序后的数组进行回填 int index=0; while (index<temp.length){ for(int i=0;i<nums.length;i++){ for(int j=0;j<nums[i].length;j++){ nums[i][j]=temp[index++]; } } } System.out.println("排序后的数组如下"); // 这里因为懒所以我自定义了一个函数 打印二维数组 ShowDemArray(nums); }
5. 위에서 사용한 2차원 배열에 인쇄를 추가하려면
/* * 输出二维数组 * 这里我不知道怎么写我还去问了我前任:) 因为我实在不知怎么传这个参 * 如果要做成通用的比如说既能打印整数类型又能打印字符串类型的二维数组需要用的泛型... * 毕业2年我已经忘了泛型怎么用,下次再补补 */ public static void ShowDemArray(int[][] nums){ for (int i=0;i<nums.length;i++){ for (int j=0;j<nums[i].length;j++){ System.out.print(nums[i][j]+"\t"); if((j+1)%nums[i].length==0){ System.out.println(); } } } }
오늘도 테스트하는 날
행렬은 계산에 자주 사용되므로 먼저 1차원 배열을 2차원 배열로 변환합니다. 그래서 여기에 기록해 두었고, 다른 분들에게도 도움이 되었으면 좋겠습니다.
package deal; /* * author:合肥工业大学 管院学院 钱洋 *1563178220@qq.com */ public class ArryTest { public static void main(String[] args) { //创建一个一维数组 0,1,2,3...,10 double [] c= new double[10]; for (int i = 0; i < c.length; i++) { c[i]=i; } double[][] testArr=TwoArry(c); for (int i = 0; i < testArr.length; i++) { for (int j = 0; j < testArr[i].length; j++) { System.out.println(testArr[i][j]); } } } //一维数组转化为二维数组 public static double[][] TwoArry(double[] onedouble){ double[][] arr=new double[1][onedouble.length]; for (int i = 0; i < onedouble.length; i++) { arr[0][i]=onedouble[i]; } return arr; } }
프로그램 실행 결과.
위 내용은 Java에서 2차원 배열을 1차원 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!