public class switchBlackAndWrite {
/**
* Variables
* */
static int[] round={0,0,0,2,1,1,1};
static String[] qizi={"○","●","※"};
/**
* Methods
* */
/**
* Main
* */
public static void main(String[] args) {
new switchBlackAndWrite().doExchange();
}
/**
* 方法1
* */
public static void doExchange(){
int n=round.length/2;
for(int i=n-1;i>=0;i--){
print();
int temp=2;
int position=i;
//从a开始,循环n次
for(int a=0;a<n;a++){
//当前的位置是position
position=i+a;
//将当前的元素和后面的一个调换位置
temp=round[position+1];//保存当前白点后的空到temp
round[position+1]=round[position];
round[position]=temp;
print();
//将当前元素和后面两个位置的元素跳到当前位置
temp=round[position];
round[position]=round[position+2];
round[position+2]=temp;
print();
}
temp=round[position+n-1];//stop here
if(i==0){//最后一次移动后,只将中间子移动到它后面一位,其他的不用动
temp=round[round.length/2+1];
round[round.length/2+1]=round[round.length/2];
round[round.length/2]=temp;
print();
break;
}
for(int a=n;a>0;a--){
temp=round[position+a-1];
round[position+a-1]=round[position+a-2];
round[position+a-2]=temp;
print();
}
print();
}
}
public static void print(){
for(int i=0;i<round.length;i++){
System.out.print(qizi[round[i]]);
}
System.out.println();
}
}