s01串
解析: 题目有一点问题,漏了一句话"输入一个整数n"。字符串s01的初始内容是"0",要求出经过n次变幻后的字符串。每次变幻都是0变1,1变01.所以可以把一个字符串分解成一个字符数组,这样可以对数组里的每个字符进行单独转换,最后将数组里所有的字符加起来就是一个新的字符串。
package _4_9_test;
import java.awt.List;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
/*s01串
* 1、输入一个整数n,代表s01串变幻的次数
* 2、s01串的初始是0
* 3、每次变幻,s01串中的0变成1,1变成01
* 可以使用数组和可变进行处理
*
* 0
* 1
* 01
* 101
*
* */
public class SeventyFive {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
StringBuffer stringBuffer = new StringBuffer("0");
// 最外层循环是转换次数
for (int i = 0; i < n; i++) {
// 将string串转变成字符数组
char s[] = stringBuffer.toString().toCharArray();
// 清空stringBuffer
stringBuffer.delete(0, stringBuffer.length());
// 里面的循环是需要转换的字符个数
for (int j = 0; j < s.length; j++) {
if (s[j] == '0') {
stringBuffer.append("1");
} else if (s[j] == '1') {
stringBuffer.append("01");
}
}
}
System.out.println(stringBuffer);
}
}