36:字符串排序SortString
2024-09-28 11:01:37
题目描述:编写一个程序,将输入字符串中的字符按如下规则排序。
规则1:英文字母从A到Z排列,不区分大小写。
如,输入:Type 输出:epTy
规则2:同一个英文字母的大小写同时存在时,按照输入顺序排列。
如,输入:BabA 输出:aABb
规则3:非英文字母的其它字符保持原来的位置。
如,输入:By?e 输出:Be?y
样例:
输入:
A Famous Saying: Much Ado About Nothing(2012/8).
输出:
A aaAAbc dFgghh: iimM nNn oooos Sttuuuy (2012/8).
思路:一个嵌套循环把字符串中的字母进行排序,把所有排序后的字母专门放在temp[]中,最后输出的时候,遍历原来的字符数组,如果某一位是字母,那么去temp中取对应位置已经排好序的字母输出,非字母,就输出原位置字符。
/*题目描述:编写一个程序,将输入字符串中的字符按如下规则排序。
规则1:英文字母从A到Z排列,不区分大小写。
如,输入:Type 输出:epTy
规则2:同一个英文字母的大小写同时存在时,按照输入顺序排列。
如,输入:BabA 输出:aABb
规则3:非英文字母的其它字符保持原来的位置。
如,输入:By?e 输出:Be?y
样例:
输入:
A Famous Saying: Much Ado About Nothing(2012/8).
输出:
A aaAAbc dFgghh: iimM nNn oooos Sttuuuy (2012/8).
*/
import java.util.Scanner; public class Main { public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while(in.hasNext())
{
String input = in.nextLine();
int length = input.length();
char[] array = input.toCharArray();
//input里面的所有字母排序
char[] temp = new char[length];
int k = 0;
for(int i = 0; i<26; i++)
{
for(int j = 0; j<length; j++)
{
if(array[j] - 'a' == i || array[j] - 'A' == i)
{
temp[k++] = array[j];
}
}
}
//notice!!
k = 0;
for(int i = 0; i<length; i++)
{
if(array[i] >= 'a' && array[i] <= 'z' || array[i] >= 'A' && array[i] <= 'Z')
{
array[i] = temp[k++];
//array[i] = temp[i];
}
}
System.out.println(String.valueOf(array));
}
} }
最新文章
- sharepoint 相关<;httpHandlers>;
- DotnetBar在VS2010工具箱中不显示问题
- 无法卸载jdk的解决方法
- 精益VS六西格玛
- 解决ListView和ScrollView同时使用时滑动的冲突问题
- ArrayList,Hashtable,List<;T>;,Dictionary<;K,V>;
- Eclipse @override报错解决
- [转]剖析ASP.Net MVC Application
- find-all-duplicates-in-an-array(典型的数组中的重复数,不错,我做出来了,可是发现别人有更好的做法)
- 基于Cloudera Manager5配置HIVE压缩
- python装饰器 &; flask 通过装饰器 实现 单点登录验证
- iOS开发之二:UIWindow与UIView
- C# XML反序列化与序列化举例:XmlSerializer(转)
- 【Python3练习题 010】将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
- 寄存器理解 及 X86汇编入门
- Unable to cast object of type &#39;System.Int32&#39; to type &#39;System.Array&#39;.
- 通过C#脚本实现旋转的立方体
- YII2 设置session过期时间
- 关于HTTP Message
- Bluez相关的各种tools的使用