首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

由一维数组产生二维数组,该怎么处理

2013-01-25 
由一维数组产生二维数组题目描述【问题描述】给一维数组输入M个整数,假设M6,数组元素分别为 748915 ,要求建

由一维数组产生二维数组
题目描述
【问题描述】
    给一维数组输入M个整数,假设M=6,数组元素分别为 7   4   8   9   1   5 ,
    要求建立一个如下数组(矩阵):  

7   4   8   9   1   5
4   8   9   1   5   7
8   9   1   5   7   4 
9   1   5   7   4   8 
1   5   7   4   8   9 
5   7   4   8   9   1

输入
【输入样例】 
  6
  7 4 8 9 1 5  

输出
【输出样例】
7 4 8 9 1 5
4 8 9 1 5 7
8 9 1 5 7 4
9 1 5 7 4 8
1 5 7 4 8 9
5 7 4 8 9 1
最后一个数据后面没有空格

样例输入
6
7 4 8 9 1 5
样例输出
7 4 8 9 1 5
4 8 9 1 5 7
8 9 1 5 7 4
9 1 5 7 4 8
1 5 7 4 8 9
5 7 4 8 9 1

求实现方法~~
[解决办法]

public class TestArray {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr=new int[]{7,4,8,9,1,5};
new TestArray().testArray(arr);
}

private void testArray(int[] arr){
for (int i = 0; i < arr.length; i++) {
int[] temp=new int[arr.length];
if(i==0){
temp=arr;
}else{
for (int j = 0; j < temp.length; j++) {
int index=(i+j)%arr.length;
temp[j]=arr[index];
}
}
String str="";
for (int j = 0; j < temp.length; j++) {
str+=temp[j]+" ";
}
System.out.println(str);
}
}
}

[解决办法]
package test;

import java.util.Scanner;

public class TestArray {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
System.out.print("请输入一维数组的个数:");
int n = read.nextInt();
int[] array = new int[n];
System.out.print("请输入一维数组的元素(各个元素以空格隔开):");
for (int i = 0; i < n; i++) {
array[i]=read.nextInt();
}
System.out.println("一维数组产生的二维数组如下:");
new TestArray().testArray(array);
}

private void testArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
int[] temp = new int[arr.length];
if (i == 0) {
temp = arr;
} else {
for (int j = 0; j < temp.length; j++) {


int index = (i + j) % arr.length;
temp[j] = arr[index];
}
}
String str = "";
for (int j = 0; j < temp.length; j++) {
str += temp[j] + " ";
}
System.out.println(str);
}
}
}

热点排行