算法---字符按ASCII排序
今天这道题在难度上最多算两颗星吧。
开始是把字符转化为ASCII然后将值存在了list里面,用sort()方法对list进行排序,接着再将ASCII码转化为字符进行输出。
题并不难,但是很多同学可能会想不清楚,就是在输出的时候怎么保证排序后的ASCII码跟自己输入的字符进行对应,起初我也担心过,甚至还想过用二维数组,后来觉得自己真的是多此一举。
我们可以用字符转ASCII码,那输出的时候再转回来不久完了,何必要求排序的时候就一一对应。
算法不是很难,没有什么点可以说的,附上代码,大家看一下应该就懂了。
package com.company; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; /** * @author [email protected]meng_zhu * @date 2018/5/2 0002 19:34 */ public class test01 { public static void main(String[] args) { Scanner text01 = new Scanner(System.in); // System.out.println("输入数量"); int num = text01.nextInt(); List<Integer> bud = new ArrayList(); List <Character> bud1 = new ArrayList(); for(int i=0;i<num;i++ ) { String a = text01.next(); for(int z=0; z<3;z++){ int a1 = (int) a.charAt(z);//转换为ASCII bud.add(a1); } Collections.sort(bud); for (int m = 0; m < bud.size(); m++) { int x = bud.get(m); char x1=(char)x;//讲ASCII转为字符 System.out.print(x1+" "); } bud.clear();//清空一下list } } }
再附一张结果图标识楼主的代码木有问题啊:
好啦,今天就这样,回家咯~