简答疑问,速度结贴!100分 编写一个静态类,其中包括一个排序方法 Sort ,如果是数入的一串整数,则按大小排列输出。如果输入的是一个字符串,则反向排列请问下 怎么区分啊,我怎么知道区分 到底输入的是什么。请高手解释下,最好可以附上代码,非常感激! 书上的习题,课外自学,非作业! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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); } } 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; } 就按楼上的说的,含有字母就按字符串来处理(逆序),你写个方法放进去应该就行了吧,代码如下: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); } 各位高手大家好,我非常想学JAVA编程,但我是一点基础都没有,要学好的话难不难,不去专业的培训机构也能学好吗? 先正则判断下,数字的话reverse,字符串的话Collections.sort(list,Collectons.reverseOrder()); 编写一个静态类,其中包括一个排序方法 Sort ,如果是数入的一串整数,则按大小排列输出输入的是"111111111111111"输出的是什么?? 1.如果可以写多个方法, 就考虑方法重载2.如果只能写一个方法, 就是用instanceOf() 一个reverse和一个Arrys.sort输入判断下就好了! 方法重载啊看来楼主的java语法不是很过关啊!!! public int [] sort(int [] arr){}public String sort(String str){} 学习sql2000还是学习2005入门数据库啊? Math.random随机取的数是否有可能重复 怎样让这个程序出来的界面正常点啊!原本是awt,但是改成swing就有问题了 关于一个异常处理的不能再简单的问题 关于jar打包程序的问题 我刚学JAVA,问个很菜的问题,哥哥们不要拿鸡蛋砸我 怎么才能打出这样的样子来啊.. 构造对象的问题 请各位java高手几个java有关的问题? manifest的格式 j2se里怎么实现窗体旋转? JTextField突然不能setText("")了????
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);
}
}
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;
}
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);
}
输入的是"111111111111111"
输出的是什么??
2.如果只能写一个方法, 就是用instanceOf()
public int [] sort(int [] arr){
}public String sort(String str){
}