文件data.txt如下:
a b f e d
1 4 f h e
m k 7 d i
l o q d k
m l d 2 d
将其中的元素按如下规则互换:对角互换(如a[1][1]=a[5][5],a[1][5]=a[5][1]...)然后写入到data1.txt中
a b f e d
1 4 f h e
m k 7 d i
l o q d k
m l d 2 d
将其中的元素按如下规则互换:对角互换(如a[1][1]=a[5][5],a[1][5]=a[5][1]...)然后写入到data1.txt中
public static void main(String[] args) { String[][] data = { { "a", "b", "f", "e", "d" },
{ "l", "4", "f", "h", "e" }, { "m", "k", "7", "d", "i" },
{ "l", "o", "q", "d", "k" }, { "m", "l", "d", "2", "d" } };
String[][] printdata = print(data); for (int i = 0; i < printdata.length; i++) {
for (int j = 0; j < printdata[i].length; j++) { System.out.print(printdata[i][j]);
}
System.out.println();
} } /**
*
* @return
*/
public static String[][] print(String[][] data) {
String temp = null;
int i = 0;
int j = 0;
for (; i < data.length; i++) {
if (i == (data.length - 1) / 2 && j == (data.length - 1) / 2)
break;
for (; j < data[i].length; j++) {
if (i == (data.length - 1) / 2 && j == (data.length - 1) / 2)
break;
temp = data[i][j];
data[i][j] = data[data.length - 1 - i][data.length - 1 - j];
data[data.length - 1 - i][data.length - 1 - j] = temp;
}
}
return data;
}输出
d2dlm
l4fhe
mk7di
loqdk
defba
文件流的读取楼主自己做吧下班了
public static void main(String[] args) { String[][] data = { { "a", "b", "f", "e", "d" },
{ "l", "4", "f", "h", "e" }, { "m", "k", "7", "d", "i" },
{ "l", "o", "q", "d", "k" }, { "m", "l", "d", "2", "d" } };
String[][] printdata = print(data); for (int i = 0; i < printdata.length; i++) {
for (int j = 0; j < printdata[i].length; j++) { System.out.print(printdata[i][j]);
}
System.out.println();
} } /**
*
* @return
*/
public static String[][] print(String[][] data) {
String temp = null;
int i = 0;
boolean k =false;
for (; i < data.length; i++) {
if (k)
break;
for (int j = 0; j < data[i].length; j++) {
if (i == (data.length - 1) / 2 && j == (data.length - 1) / 2&&j==i)
{
k=true;
break;
}
temp = data[i][j];
data[i][j] = data[data.length - 1 - i][data.length - 1 - j];
data[data.length - 1 - i][data.length - 1 - j] = temp;
}
}
return data;
}输出
d2dlm
kdqol
id7km
ehf4l
defba
不好意思 上面的错了---这回不会错了--下线了!
public static void main(String[] args) { String[][] data = { { "a", "b", "f", "e", "d" },
{ "l", "4", "f", "h", "e" }, { "m", "k", "7", "d", "i" },
{ "l", "o", "q", "d", "k" }, { "m", "l", "d", "2", "d" } };
String[][] printdata = print(data); for (int i = 0; i < printdata.length; i++) {
for (int j = 0; j < printdata[i].length; j++) { System.out.print(printdata[i][j]);
}
System.out.println();
} } /**
*
* @return
*/
public static String[][] print(String[][] data) {
String temp = null;
int i = 0;
boolean k =false;
for (; i < data.length; i++) {
if (k)
break;
for (int j = 0; j < data[i].length; j++) {
if (i == (data.length - 1) / 2 && j == (data.length - 1) / 2&&j==i)
{
k=true;
break;
}
temp = data[i][j];
data[i][j] = data[data.length - 1 - i][data.length - 1 - j];
data[data.length - 1 - i][data.length - 1 - j] = temp;
}
}
return data;
}
d2dlm
kdqol
id7km
ehf4l
defba
import java.io.*;public class Reversion {
public static void main(String[] args) {
BufferedReader br = null;
BufferedWriter bw = null;
try
{
br = new BufferedReader(new FileReader(new File("D:/data.txt")));
bw = new BufferedWriter(new FileWriter(new File("D:/data1.txt")));
String[][] str_arr = new String[5][5];
String s = null;
int lineCount = 0;
while((s = br.readLine()) != null) {
String[] arr = s.trim().split(" ");
for(int i = 0;i<arr.length; i++) {
str_arr[lineCount][i] = arr[i];
}
lineCount++;
}
System.out.println(Arrays.deepToString(str_arr));
}
catch (Exception e)
{
e.printStackTrace();
}finally {
}
}
}剩下的工作楼主自己去完成吧,要下班了。。把数组逆序写入文件就可以了
import java.io.*;public class Reversion {
public static void main(String[] args) {
BufferedReader br = null;
BufferedWriter bw = null;
try
{
br = new BufferedReader(new FileReader(new File("D:/data.txt")));
bw = new BufferedWriter(new FileWriter(new File("D:/data1.txt")));
String[][] str_arr = new String[5][5];
String s = null;
int lineCount = 0;
while((s = br.readLine()) != null) {
String[] arr = s.trim().split(" ");
for(int i = 0;i<arr.length; i++) {
str_arr[lineCount][i] = arr[i];
}
lineCount++;
}
System.out.println(Arrays.deepToString(str_arr));
String ss = "";
for(int j=4; j>=0;j--) {
for(int k =4;k>=0;k--) {
ss += str_arr[j][k] + " ";
}
bw.write(ss);
bw.newLine();
bw.flush();
ss = "";
}
}
catch (Exception e)
{
e.printStackTrace();
}finally {
if(bw != null) {
try {
bw.close();
}catch(Exception e) {
e.printStackTrace();
}
}
if(br != null) {
try {
br.close();
}catch(Exception e) {
e.printStackTrace();
}
}
}
}
}
发上完整版本,嗯!