package _2_base;
public class _2_01String {
public static void main(String[] args) {
printfstring();
// printfstring2();
}
// 较简单易懂
public static void printfstring() {
int i = 0;
int n = 0;
while (i < 5) {
// N进制转十进制:
n = (int) (1 * Math.pow(2, i)) + n;
i++;
}
i = 0;
while (i <= n) {
// 十进制转N进制,但是Integer.toString方法返回的String。(也可以说是将int型转换成String型)
// 或:String str=Integer.toBinaryString(i);
String str = Integer.toString(i, 2);
int len = str.length();
while (len < 5) {
str = '0' + str;
len++;
}
System.out.println(str);
i++;
}
}
// 利用StringBuffer类
public static void printfstring2() {
int i = 0;
int n = 0;
while (i < 5) {
// N转十进制:
n = (int) (1 * Math.pow(2, i)) + n;
i++;
}
System.out.println(n);
i = 0;
while (i <= n) {
String str = Integer.toString(i, 2);
int strLen = str.length();
int strLength = 5;
StringBuffer sb = null;
if (strLen < strLength) {
while (strLen < strLength) {
sb = new StringBuffer();
// 积累:下面两行分别是左边补0,右边补0。 列表 append()方法用于在列表末尾追加新的对象。
sb.append("0").append(str);// left+0
// sb.append(str).append("0");//right+0
str = sb.toString();
strLen = str.length();
}
}
System.out.println(str);
i++;
}
}
}
总结:
这道题主要教会了我如何在一个字符串的前面或者后面补0,使其凑够5位数。
另外收获:字符串格式化 String.format("%05d",1)===>00001,以及其他(记得看看)DecimalFormat等等。。。
警告:复习String的常用方法,例如replace()、charAt(int index)、indexOf(char ch或String str或int ch,int fromIndex)、substring(int begin,int end)等,append()是StringBuffer类的方法!!!
缺憾:不太明白parseInt和valueOf方法的区别和用途。。。
总结一:
1.N进制转十进制:n = (int) (1 * Math.pow(2, i)) + n;
2.十进制转N进制,但是Integer.toString方法返回的String:
String str = Integer.toString(i, 2);
或:String str=Integer.toBinaryString(i);
总结二:
1.String转换StringBuffer有两种方法;
(1).构造方法转换
(2).append()方法
//String 转StringBuffer实例程序
public class StringBufferDemo {
public static void main(String[] args) {
String string = "Hello";
//构造方法转换
StringBuffer buffer = new StringBuffer(string);
System.out.println(buffer);
//append()方法
StringBuffer buffer2 = new StringBuffer();
buffer2.append(string);
System.out.println("buffer2:"+buffer2);
}
}
2.StringBuffer转换String有两种方法;
(1). 构造方法转换
(2). toString()方法
// StringBuffer转String实例程序
public class StringBufferDemo {
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer("Java");
//构造方法转换
String string = new String(buffer);
System.out.println("string:"+string);
//toSting()方法
String string2 = buffer.toString();
System.out.println("string2 : "+string2);
}
}