/*
* 5、 编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,
* 并将所有已输入的字符串按字典顺序倒序打印。
*
*/
package com.itheima;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test5 {
public static void main(String[] args) throws IOException {
// 创建并将字节输入流封装在高效流中
System.out.println("请输入字符串,并以end结束:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = null;
// 创建一个字符串缓冲对象,用于存放字符串
StringBuffer sb = new StringBuffer();
while ((line = br.readLine()) != null) {
// 当发现"end"是结束循环
if ("end".equals(line)) {
break;
}
// 将字符串添加到字符串缓冲对象
sb.append(line);
}
// 将字符串缓冲对象转换为char数组
char[] ch = sb.toString().toCharArray();
// 用比较排序法实现排序
for (int index = 0; index < ch.length; index++) {
for (int index2 = index + 1; index2 < ch.length; index2++) {
char temp = '\u0000';
if (ch[index] > ch[index2]) {
temp = ch[index];
ch[index] = ch[index2];
ch[index2] = temp;
}
}
}
// 将排序好的字符数组封装成字符串缓冲对像并倒序,在打印
StringBuffer result = new StringBuffer(String.valueOf(ch));
result.reverse();
System.out.println("按字典顺序倒序打印的结果是:");
System.out.println(result);
}
}
|
|