本帖最后由 胡建伟 于 2014-4-16 23:12 编辑
- <P>package com.itheima.com;
- import java.util.Scanner;
- import java.util.Comparator;
- import java.util.Set;
- import java.util.TreeSet;
- public class Demo {
- /**
- * 需求: 编写程序,循环接收用户从键盘输入多个字符串,直到输入“quit”时循环结束,并将所有已输入的字符串按字典顺序倒序打印。
- *
- */
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入多个字符串,输入end时结束:");
- Set<String> ts = new TreeSet<>(new Comparator<String>() {
- @Override
- public int compare(String str1, String str2) {
- int num = str2.compareTo(str1);
- return num == 0 ? 1:num; //如果num为零返回一个正数或一个负数,num不为零就
- }
- });
- while(true) { </P>
- <P>if(line.equals("quit")) { break; }
- try {
- String x = String.format(line);
- ts.add(x);//将字符串添加到集合
- } catch (Exception e) {
- System.out.println("您输入的字符非法,请重新输入:");//如果录入非字符串元素就提示
- }
- }
- //增强for循环遍历集合
- for (String str : ts) {
- System.out.println(str);//将集合中的所有元素打印
- }
- }
- }
- </P>
复制代码 问题:1,上述代码中指定输入非法字符即非字符串时候应该给与提示,但是运行结果不成功,没有实现?
如果输入null,空格,\tab,等该怎么提示,这个异常抛出代码该怎么写呢
|