黑马程序员技术交流社区
标题:
测试题 编写程序,循环接收用户从键盘输入多个字符串,...
[打印本页]
作者:
阿霞
时间:
2015-4-16 21:51
标题:
测试题 编写程序,循环接收用户从键盘输入多个字符串,...
测试题:编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,并将所有已输入的字符串按字典顺序倒序打印。
import java.io.*;
import java.util.*;
public class Test8
{
public static void main(String[] args)
{
System.out.println("请输入字符串:");
//定义泛型为String的ArrayList集合
ArrayList<String> al = new ArrayList<String>();
//读取键盘录入
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String s = null;
try
{
//使用while循环对录入内容进行判断,不为空,进入循环
while((s=in.readLine())!=null)
{
//判断录入的字符串是否为”end“,是,结束循环
if(s.equals("end"))
break;
//否则将字符串添加到ArrayList集合中
al.add(s);
}
}
catch (IOException e)
{
throw new RuntimeException("IO异常");
}
// 给ArrayList排序,字典倒序
Collections.sort(al, Collections.reverseOrder());
// 打印排序后的结果
System.out.println("排序后结果:");
Iterator<String> it = al.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
有点 疑惑 ?结果 运行输入中文的话 不是倒叙 排列
英文 就没问题
???????
作者:
Dracove
时间:
2015-4-16 23:22
请问哪个是键盘输入语句啊???
作者:
田晓莉
时间:
2015-4-17 09:10
import java.io.*;
import java.util.*;
class strReverse
{
public static void main(String[] args)
{
System.out.println("请输入字符串:");
//创建字符串接收对象
BufferedReader bur = new BufferedReader(new InputStreamReader(System.in));
//建立字符串缓冲区
StringBuilder sb = new StringBuilder();
String line = null;
try
{
while((line=bur.readLine())!=null)
{
if(line.equals("end"))
{
System.out.println("输入结束");
break;
}
else
sb.append(line.toCharArray());
}
}
catch (IOException e )
{
throw new RuntimeException("IO异常");
}
System.out.println("排序后:"+sb.reverse());
}
}
复制代码
实现反转,但是需要程序结束之后才能输出结果,这个又该怎么改~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2