你能帮帮小Q吗?
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String s = sc.nextLine(); swapString(s); } } public static void swapString(String s) { char[] ch = s.toCharArray(); for (int i = 1; i < ch.length; i++) { if (ch[i] >= 'a') { while (i > 0 && ch[i - 1] <= 'Z') { char tmp = ch[i]; ch[i] = ch[i - 1]; ch[i - 1] = tmp; i--; } } } System.out.println(ch); } }
import java.util.*; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); new Main().run(input); input.close(); } public void run(Scanner input) { while (input.hasNextLine()) { String str = input.nextLine(); char[] cs = str.toCharArray(); int cntOfUp = 0; for (int i = 0; i < cs.length; i++) { if (i == cs.length - cntOfUp) { break; } if ('A' <= cs[i] && cs[i] <= 'Z') { char c = cs[i]; for (int j = i; j < cs.length - 1; j++) { cs[j] = cs[j + 1]; } cs[cs.length - 1] = c; cntOfUp++; i--; } } System.out.println(String.valueOf(cs)); } } }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNext()){ System.out.println(moveCapitalLetters(in.nextLine())); } } public static String moveCapitalLetters(String s){ char[] chars = s.toCharArray(); int j; for(int i=chars.length-1;i>=0;i--){ while(i>=0&&chars[i]>='a'&&chars[i]<='z') i--; if(i<0) break; char temp = chars[i]; for(j=i;j>0&&j<chars.length-1&&chars[j+1]>='a'&&chars[j+1]<='z';j++){ chars[j] = chars[j+1]; } chars[j] = temp; } return String.copyValueOf(chars); } }
import java.util.Scanner;
public class Main {
public static boolean isLowcase(char c){
if(c>= 'a' && c<='z')
return true;
return false;
}
public static void swap(char[] str,int i,int j){
if(i!=j){
str[i] ^= str[j];
str[j] ^= str[i];
str[i] ^= str[j];
}
}
public static void bubbling(char[] str,int begin,int index){
while(index != begin){
swap(str,index-1,index);
index--;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String str = sc.nextLine();
char[] charArr = str.toCharArray();
int begin=0;
for(int index=0;index<charArr.length;index++){
if(isLowcase(charArr[index])){
if(index!=begin){
bubbling(charArr,begin,index);
}
begin++;
}
}
System.out.println(new String(charArr));
}
/**
因为 Java 输入输出的问题,在网上测试时需要以 String 输出结果,不然就会报错
该算法中 begin 指向当前字符串中最靠前的大写字符
index 从头开始遍历,碰到小写字符时,用类似冒泡的方法,将该小写移动到 begin 的位置
接着 begin 前移一位,index 继续遍历
*/
import java.util.*; public class Main{ public static void main(String[] arg){ Scanner input = new Scanner(System.in); while(input.hasNextLine()){ char[] s = input.nextLine().toCharArray(); int len = s.length; int j = 0; char t; //从后往前 遇到大写字母就交换往后移直到遇到已在尾部大写字母 for(int i = len-2; i >= 0; i--){ //是大写字母 往后移直到遇到大写字母 if(isA_Z(s[i])){ j = i+1; while( j < len && !isA_Z(s[j]) ){ t = s[j]; s[j] = s[j-1]; s[j-1] = t; j++; } } } System.out.println(String.valueOf(s)); } } public static boolean isA_Z(char c){ if(c >= 'A'&& c <= 'Z') return true; return false; } }
import java.util.Scanner; /** * Created by 10648 on 2017/2/22 0022. */ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { String string = scanner.nextLine(); char [] chars = string.toCharArray(); int length = string.length(); for (int i = 0; i < length; i ++) { for (int j = 1; j < length - i; j ++) { if ((chars[j-1] >= 'A' && chars[j-1] <= 'Z') && (chars[j] < 'A' || chars[j] > 'Z')) { char temp = chars[j-1]; chars[j-1] = chars[j]; chars[j] = temp; } } } System.out.println(String.valueOf(chars)); } } }
import java.util.Scanner;