编写程序将由数字及字符组成的字符串中的数字截取出来并按顺序输出,例如: “ABC137GMNQQ2049PN5FFF”输出结果应该为 01234579。
代码如下 求解排序后的for循环输出为什么要这样写,有点不懂!
public class www {
public static void main(String[] args) {
String str="ABC137GMNQQ2049PN5FFF";
char[] beforechars=str.toCharArray();
char[] afterchars=new char[beforechars.length];
int j=0;
for(int i=0;i if(beforechars[i]>='0' && beforechars[i]<='9'){
afterchars[j++]=beforechars[i];
}
}
Arrays.sort(afterchars);//排序
for(int i=(afterchars.length-j);i<afterchars.length;i++){
System.out.print(afterchars[i]);
}
}
}
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
String str="ABC137GMNQQ2049PN5FFF";
char[] beforechars = str.toCharArray();
Arrays.sort(beforechars);//排序
int n = 0;
while (beforechars[n] >= '0' && beforechars[n] <= '9') n++;
char[] afterchars = new char[n];
for(int i= 0;i<n;i++) {
afterchars[i] = beforechars[i];
System.out.print(beforechars[i]);
}
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。