Java-将⼆维数组转化为⼀维数组1. 为了偷懒所以我写了⼀个随机⽣成⼆维数组的函数
/*
* ⾃动创建随机为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的⼆维函数
public static void main(String[] args) {
createdarray ca=new createdarray();
int nums[][]=CreatedDemArray(5,8);
}
3. 定义⼀个长度为40 的int 数组,并使⽤System.arraycopy的⽅式将⼆维数组填充到⼀维数组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. 如果填充到⼀维数组之后我想搞点事,把⼀维数组进⾏排序后,回填到⼆维数组中
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年我已经忘了泛型怎么⽤,下次再补补
*/
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();
}
}
}java定义一维数组并赋值
}
今天也是想当测开的⼀天

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。