Java-NowCoder-图片整理

来源:互联网 发布:图片热点 js 边框 编辑:程序博客网 时间:2024/04/30 03:00
//Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。
//Lily的所有图片按照从小到大的顺序输出
//输入:
//Ihave1nose2hands10fingers
//输出例子:

//0112Iaadeeefghhinnnorsssv

实现思路很简单:就是将字符串进行分类,然后排序,在将字符串合并并打印输出。为清楚思路,代码写的优点繁琐,读者可以自己进行优化在整理。

import java.util.Arrays;import java.util.Scanner;//Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。//Lily的所有图片按照从小到大的顺序输出//输入://Ihave1nose2hands10fingers//输出例子://0112Iaadeeefghhinnnorsssvpublic class NC_034_图片整理 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(sc.hasNext()){String str = sc.nextLine();//在调用sort方法之前要验证输入的合法性,是否包含非法字符if(str == null || str.length() == 0)return;String result = sortPhoto(str);System.out.println(result);}}public static String sortPhoto(String str){int length = str.length();if(str == null || length == 0){return null;}char[] strChar = str.toCharArray();String strNum = "";//存放数字的字符串String strUpperChar = "";//存放大写字符的字符串String strLowerChar = "";//存放小写字符的字符串for(int i = 0; i < length; i++){//将字符串的按类分为3种字符串if(strChar[i] >= '0' && strChar[i] <= '9'){strNum = strNum + strChar[i];}else if(strChar[i] >= 'A' && strChar[i] <= 'Z'){strUpperChar = strUpperChar + strChar[i];}else if(strChar[i] >= 'a' && strChar[i] <= 'z'){strLowerChar = strLowerChar + strChar[i];}}String strNum1 = null;String strUpperChar1 = null;String strLowerChar1 = null;if(strNum.length() > 0){strNum1 = sortStr(strNum);}if(strUpperChar.length() > 0){strUpperChar1 = sortStr(strUpperChar);}if(strLowerChar.length() > 0){strLowerChar1 = sortStr(strLowerChar);}String str1 = strNum1 + strUpperChar1 + strLowerChar1;//按照题目要求将三类字符在合并成一个字符串return str1;}/** * @param str * @return String返回排好序的字符串 * 排序方法用的是Arrays中带的排序方法sort */public static String sortStr(String str){char[] num = str.toCharArray();Arrays.sort(num);return new String(num);}}


0 0
原创粉丝点击