把数组转化为字符串

      其实多维数组转化为字符串和二维数组转化为字符串大差不差,具体就自己总结规律吧!

      直接上代码

  import java.util.ArrayList;
import java.util.Random;


/**
 * @version:1.0
 * @since 2010年11月21日22:58:43
 * @<p>快速生成数独算法</p>
 * @param args
 */

public class SudoKu {


/**
* <p>
* 打印二维数组,数独矩阵
* </p>
*/

public static void printArray(int a[][]) {
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
System.out.print(" " + a[i][j]);
if (0 == ((j + 1) % 3)) {//为了有层次感输出空格
System.out.print(" ");
}
}
System.out.println();
if (0 == ((i + 1) % 3)) {//为了有层次感输出换行
System.out.println();
}
}
}


//二维数组转换成一个字符串
static String sudo_tostring(int[][] sudo) {
StringBuilder buf = new StringBuilder();// 字符串生成器对象(类似字符串缓冲流)
for (int i = 0; i < sudo.length; i++) {
for (int j = 0; j < sudo[i].length; j++) {
buf.append(sudo[i][j]);
}
}
System.out.println("二维数组转换成一个字符串");
System.out.println(buf.toString());// 把字符串生成器转化为字符串
return buf.toString();
}


/** 把字符串转换成一个一维数组 */
static int[] fromPuzzleString(String string) {
int[] puz = new int[string.length()];
for (int i = 0; i < puz.length; i++) {
puz[i] = string.charAt(i) - '0';
}
System.out.println("把字符串转换成一个一维数组");
for (int i = 0; i < puz.length; i++) {
System.out.print(puz[i]);
}
System.out.println();
return puz;
}


/** 一维数组转换程一个字符串 */
static private String toPuzzleString(int[] puz) {
StringBuilder buf = new StringBuilder();
for (int element : puz) {
buf.append(element);
}
System.out.println("一维数组转换程一个字符串");
System.out.println(buf.toString());
return buf.toString();
}


/**
* main函数组织了程序的逻辑,
* main函数
* 1.定义一个二维数组
* 2.输出二维数组
* 3.二维数组转化为字符串
* 4.字符串转化为一维数组
* 5.一维数组转化为字符串
* @param args
*/

public static void main(String[] args) {
int seedArray[][] = { { 9, 7, 8, 3, 1, 2, 6, 4, 5 },
{ 3, 1, 2, 6, 4, 5, 9, 7, 8 }, { 6, 4, 5, 9, 7, 8, 3, 1, 2 },
{ 7, 8, 9, 1, 2, 3, 4, 5, 6 }, { 1, 2, 3, 4, 5, 6, 7, 8, 9 },
{ 4, 5, 6, 7, 8, 9, 1, 2, 3 }, { 8, 9, 7, 2, 3, 1, 5, 6, 4 },
{ 2, 3, 1, 5, 6, 4, 8, 9, 7 }, { 5, 6, 4, 8, 9, 7, 2, 3, 1 } };//1.定义一个二维数组
System.out.println("原始的二维数组:");
SudoKu.printArray(seedArray);// 2.输出二维数组
String sudo_tostring = sudo_tostring(seedArray);//3.二维数组转化为字符串
int a[] = fromPuzzleString(sudo_tostring);// 4.字符串转化为一维数组
String b = toPuzzleString(a);//5.一维数组转化为字符串


}


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值