ASCII码排序

ASCII码排序

时间限制: 3000 ms  |  内存限制: 65535 KB
难度: 2
描述
输入三个字符(可以重复)后,按各字符的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;
	}

}
       


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值