大佬们,想问一下,为什么我的输入输出都没问题,但是case通过一直是0;就是将输入的String放进char数组里面,然后从最后一位开始循环比较跟前面的值的大小,遇到第一个比后面的值小的,就换位,但是一直通不过,不知道为什么。
package interview;
import java.util.Scanner;
public class Yy {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String st = new String();
st = sc.next();
char[] num = new char[st.length()/2 + 1];
char bigger;
for(int i = 0,j = 0;i < st.length()/2 + 1;i ++) {
num[i] = st.charAt(j);
j +=2;
}
int mark = 0;
for(int j = st.length()/2;j >= 0;j --) {
bigger = num[j];
for(int i = j;i >= 0 ;i --) {
if(num[i] < bigger) {
num[j] = num[i];
num[i] = bigger;
mark = 1;
break;
}
}
if(mark == 1) break;
}
if(mark == 0) {
for(int i = st.length()/2;i >= 0;i --) {
System.out.print(num[i]);
if(i != 0) System.out.print(",");
}
}
else{
for(int i = 0;i < st.length()/2 + 1;i ++) {
System.out.print(num[i]);
if(i != st.length()/2) System.out.print(",");
}
}
}
}