蓝桥杯——基础练习之01字串

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);
	}
}
发布了27 篇原创文章 · 获赞 2 · 访问量 940

猜你喜欢

转载自blog.csdn.net/wcy8733996wcy/article/details/104290296