有个题目做不来从键盘输入一系列字符,以#号作为结束标记,求这些字符中的最小者。
注意:输入数据建议采用一行输入(例如:abdhg34dg#)哪位大哥教下俺咋做出来,不胜感激!

解决方案 »

  1.   

    把键盘中这些字符都  输进一个 String里面.然后转成一个数组.. 然后sort一下..把第一个拿出来就好了.
      

  2.   

    把键盘中这些字符都  输进一个 String里面.求出ascii码然后去最小的。
      

  3.   

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            StringBuffer sb = new StringBuffer();
            String line;
            while(null != (line = br.readLine()))
            {
                sb.append(line);
                if(true == line.endsWith("#"))
                {
                    break;
                }
            }
            int flag = sb.charAt(0);
            for(int i = 1; i < sb.length() - 1; i ++)
            {
                if(flag > sb.charAt(i))
                {
                    flag = sb.charAt(i);
                }
            }
            System.out.print((char)flag);
      

  4.   

    我是这样觉得:
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
    String str = null;
    while ((str = br.readLine()) != null) {
        if (str.endWith("#")) {
            return;
        }
    }
    char[] ch = str.toCharArray();
    Arrays.sort(ch);
    System.out.println(ch[0]);
      

  5.   

    public class Main {    public static void main(String[] args) throws IOException {
            Reader reader = new BufferedReader(new InputStreamReader(System.in));
            int c = reader.read();
            int min = c;
            while ((c = reader.read()) != '#') {
                if (c < min) {
                    min = c;
                }
            }
            System.out.println((char) min);
        }
    }
      

  6.   

    应该在用以下方式吧???因为System.in只能接收到enter的时候他才能认为此次输入结束了.没法能过一个"#"来判断.所以只能用如下方式.不知道对不对.import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.Arrays;public class Test3 {
    public static void main(String[] args) throws IOException {
    StringBuffer strb = new StringBuffer();
    String str = "";
    while (true) {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    str = br.readLine();
    if (str.endsWith("#")) {
    break;
    }
    strb.append(str);
    }
    char[] cha = strb.toString().toCharArray();
    Arrays.sort(cha);
    for (int i = 0; i < cha.length; i++) {
    System.out.println(cha[i]);
    }
    }
    }
      

  7.   

    用ASCII码比较不就完了么...把接收到的字符都转换成对应的ASCII码
    然后再一一比较
    保留最小的..再转换成char输出
      

  8.   

    使用ASCII 进行比较后,然后在排序。