题目描述:编写一个程序,将输入字符串中的字符按如下规则排序。

规则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));
}
} }

最新文章

  1. sharepoint 相关&lt;httpHandlers&gt;
  2. DotnetBar在VS2010工具箱中不显示问题
  3. 无法卸载jdk的解决方法
  4. 精益VS六西格玛
  5. 解决ListView和ScrollView同时使用时滑动的冲突问题
  6. ArrayList,Hashtable,List&lt;T&gt;,Dictionary&lt;K,V&gt;
  7. Eclipse @override报错解决
  8. [转]剖析ASP.Net MVC Application
  9. find-all-duplicates-in-an-array(典型的数组中的重复数,不错,我做出来了,可是发现别人有更好的做法)
  10. 基于Cloudera Manager5配置HIVE压缩
  11. python装饰器 &amp; flask 通过装饰器 实现 单点登录验证
  12. iOS开发之二:UIWindow与UIView
  13. C# XML反序列化与序列化举例:XmlSerializer(转)
  14. 【Python3练习题 010】将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
  15. 寄存器理解 及 X86汇编入门
  16. Unable to cast object of type &#39;System.Int32&#39; to type &#39;System.Array&#39;.
  17. 通过C#脚本实现旋转的立方体
  18. YII2 设置session过期时间
  19. 关于HTTP Message
  20. Bluez相关的各种tools的使用

热门文章

  1. git删除远程仓库文件
  2. 【02】webpack 之 入门
  3. 【CF1073B】Vasya and Books(模拟)
  4. [LeetCode] Count and Say 字符串
  5. hdu 1403 Longest Common Substring 后缀数组 模板题
  6. 转 网络编程学习笔记一:Socket编程
  7. python 条件判断 if
  8. 527. Word Abbreviation
  9. hdu 2242 无向图/求用桥一分为二后使俩个bcc点权值和之差最小并输出 /缩点+2次新图dfs
  10. Interactive Extensions简介