今天做某个银行的笔试题,题目如下:
输入一段字符串,该字符串只包含a—Z等字母和若干个* 号,将字符串里所有*号移动至字符串最前面、其它字母按原顺序不变进行输出,
例如 输入 ***qas*d,输出****qasd;
我的答案如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
char flagChar = '*';
StringBuffer res1 = new StringBuffer();
StringBuffer res2 = new StringBuffer();
for (int i =0;i<input.length();i++){
if (input.charAt(i)== flagChar){
res1.append(flagChar);
} else {
res2.append(input.charAt(i));
}
}
System.out.printf(res1.toString()+res2.toString()); }
}