蓝桥杯 猜字母 Java

一、题目要求:

把abcd…s共19个字母组成的序列重复拼接106次,得到长度为2014的串。
接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。
得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。
答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。

二、代码实现:

  方法一:

public class guessnum {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str = "abcdefghijklmnopqrs";
		String  sb = "";
		for (int i = 1; i < 107; i++) {
			sb+=str;
		}
		while (sb.length()>1) {
			String str1 = "";
			for (int j = 0; j < sb.length(); j++) {
				if(j%2!=0) {
					str1+=sb.charAt(j);
				}
				
			}
			sb=str1;
		}
		System.out.print(sb.toString());
    }
}

输出:q

方法二:

public class guessnum {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str = "abcdefghijklmnopqrs";
		StringBuffer sb = new StringBuffer();
		for (int i = 1; i < 107; i++) {
			sb=sb.append(str);
		}		
		while (sb.length()>1) {
			for (int i = 0; i < sb.length(); i++) {
				sb.deleteCharAt(i);
			}
		}
		
		System.out.print(sb);
	
	}
}

输出:q

Guess you like

Origin blog.csdn.net/qq_52253798/article/details/121167927