-
描述
-
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
-
输入
- 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。 输出
- 对于每组输入数据,输出一行,字符中间用一个空格分开。 样例输入
-
3 qwe asd zxc
样例输出
-
e q w a d s c x z
package nyist.base; import java.util.Scanner; public class Main04_1 { public static String[] getString(){ Scanner sc=new Scanner(System.in); int x=sc.nextInt(); String[] s=new String[x]; for(int i=0;i<s.length;i++){ s[i]=sc.next(); } return s; } public static void main(String[] args) { String [] src=getString(); char[] out; for(int j =0 ; j < src.length; j++){ out = src[j].toCharArray(); if(out[0] > out[1]){ swap(out, 0 ,1); } if(out[0] > out[2]){ swap(out, 0 , 2); } if(out[1] > out[2]){ swap(out,1,2); } System.out.printf("%s %s %s\r\n", out[0],out[1],out[2]); } } //交换char数组中 a b 位置的值; public static void swap(char[] dst,int a,int b){ char temp = dst[a]; dst[a] = dst[b]; dst[b] = temp; } }
下面这样做感觉有点没有AC的味道了:package nyist.base; import java.util.Arrays; import java.util.Scanner; public class Main04 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String [] str=getString(); for(int i=0;i<str.length;i++){ char[] c=str[i].toCharArray(); Arrays.sort(c); for(char s:c){ System.out.print(s+" "); } System.out.println(); } } public static String[] getString(){ Scanner sc=new Scanner(System.in); int x=sc.nextInt(); String[] s=new String[x]; for(int i=0;i<s.length;i++){ s[i]=sc.next(); } return s; } }
ASCII码排序
最新推荐文章于 2018-03-05 21:04:55 发布