大佬们,想问一下,为什么我的输入输出都没问题,但是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(",");                   }         }     } }
点赞 6

相关推荐

10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
09-30 19:49
起名星人:蛮离谱的,直接要求转投销售
投递汇川技术等公司10个岗位
点赞 评论 收藏
分享
牛客网
牛客企业服务