编写一个静态类,其中包括一个排序方法 Sort ,如果是数入的一串整数,则按大小排列输出。如果输入的是一个字符串,则反向排列
请问下 怎么区分啊,我怎么知道区分 到底输入的是什么。
请高手解释下,最好可以附上代码,非常感激!  书上的习题,课外自学,非作业!

解决方案 »

  1.   

    public static void main(String[] args) {
    sort("bcdac");
    sort(54321);
    } public static void sort(Object obj){
    if(obj instanceof String){
    String [] strs = obj.toString().split("");
    Arrays.sort(strs,Collections.reverseOrder());
    for(String str : strs)
    System.out.println(str);
    }else if(obj instanceof Integer){
    String [] strs = Integer.toString((Integer)obj).split("");
    Arrays.sort(strs);
    for(String str : strs)
    System.out.println(str);
    }
    }
      

  2.   


    public static void main(String[] args) {
    sort("12312312312312323435435a3");
    sort("dfsdfs");
    }

    private static void sort(String str){
    if(checkNum(str)){
    char[] c = str.toCharArray();
    Arrays.sort(c);
    for(int i=0; i<c.length; i++){
    System.out.print(c[i]);
    }
    }else{
    System.out.print(new StringBuffer(str).reverse().toString());
    }
    System.out.println();
    }

    private static boolean checkNum(String str){
    Matcher m = Pattern.compile("\\d+").matcher(str);
    boolean b = false;
    if(m.matches()){
    b =  true;
    }
    return b;
    }
      

  3.   

    就按楼上的说的,含有字母就按字符串来处理(逆序),你写个方法放进去应该就行了吧,代码如下:
    String str = JOptionPane.showInputDialog("请输入要排序的数:");
    Matcher m=Pattern.compile("(\\d{"+str.length()+"})").matcher(str);
    if(m.matches()){
    System.out.println("输入的是数字  "+m.group(1));
    String [] strs = str.split(""); 
    Arrays.sort(strs);
    for(String s : strs)
    System.out.println(s); } else {
    System.out.println("输入的数含有字母,按字符串处理" + str);
    String [] strs = str.split(""); 
    Arrays.sort(strs, Collections.reverseOrder());
    for(String s : strs)
    System.out.println(s);
    }
      

  4.   

    各位高手大家好,我非常想学JAVA编程,但我是一点基础都没有,要学好的话难不难,不去专业的培训机构也能学好吗?
      

  5.   

    先正则判断下,数字的话reverse,字符串的话Collections.sort(list,Collectons.reverseOrder());
      

  6.   

    编写一个静态类,其中包括一个排序方法 Sort ,如果是数入的一串整数,则按大小排列输出
    输入的是"111111111111111"
    输出的是什么??
      

  7.   

    1.如果可以写多个方法, 就考虑方法重载
    2.如果只能写一个方法, 就是用instanceOf()
      

  8.   

    一个reverse和一个Arrys.sort输入判断下就好了!
      

  9.   

    方法重载啊看来楼主的java语法不是很过关啊!!!
      

  10.   


    public int [] sort(int [] arr){
    }public String sort(String str){
    }