```java
package a;
public class pool{
public static void main(String[] args) throws Exception {
int len=10, leg=10;
char zz='A';
String[][] T=new String[len][leg];
//初始化
for(int i =0;i<len;i++){
for(int j =0;j<leg;j++){
T[i][j]=".";
}
}
// 初始化A的位置
int x=(int)(Math.random()*10);
int y;
if(x==0||x==len-1){// if x-->0 OR 9
y=(int)(Math.random()*10);//y-->0-9
}else{
y=(int)(Math.random()*2)*9;//y-->0 OR 9
}
T[x][y]=zz+""; //更新A的位置
while(zz!='Z'){
String move="";//定义一个字符串把可以移动的方向拼接起来
//
if(x-1>=0){
if(T[x-1][y]=="."){
move+=0;
}
}
if(x+1<len){
if(T[x+1][y]=="."){
move+=1;
}
}
if(y-1>=0){
if(T[x][y-1]=="."){
move+=2;
}
}
if(y+1<len){
if(T[x][y+1]=="."){
move+=3;
}
}
//结束条件还有无路可以走也要跳出循环
if(move.length()==0){
break;
}
// 字符串变int | 截取字符串 char+"" |
int w=Integer.parseInt(move.charAt((int)(Math.random()*move.length()))+"");//随机生成下一个可走的w;
switch (w) {
case 0:x--; T[x][y]=""+(char)(++zz);break;
case 1:x++; T[x][y]=(char)(++zz)+"";break;
case 2: y--;T[x][y]=(char)(++zz)+"";break;
case 3: y++;T[x][y]=(char)(++zz)+"";break;
}
}
//遍历
for(int i =0;i<len;i++){
for(int j =0;j<leg;j++){
System.out.print(T[i][j]+" ");
}
System.out.println();
}
}
}