zoukankan      html  css  js  c++  java
  • Java的输入方式总结

      写java代码的时候,经常会遇到的情况就是输入输错了怎么办?大部分想的是用一个if判断,但是用if判断的话我们就无法让用户再次输入,因为if语句程序执行后就会直接退出程序。因此要想实现循环就要用while(),将输入语句放到里面实现循环。关于输入,一共有两种方式:

      <1>使用字符串输入  -->  使用这个只能输入字符串,然后转换为你想要的

        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); 
        bf.readLine();
      <2>使用Scanner,这个的话也只有输入字符串才不会报错,若你定义为输入整型,那么输入其他类型的话就会报错,可以这么说Scanner本身就是一个异常。
      下面分别举例说明:
      1、while()判断输入是否正确,同时给第二次输入的机会    ---   这个里面也有Scanner的使用就不再举例
      这个方法是用于判断第二次输入的字符串是否是第一次输入的字串

      private void replaceMethed() {
        Scanner s = new Scanner(System.in);
        System.out.println("===欢迎使用===");
        System.out.print("请输入一串字符串:");
        String str = s.next();
        while (true) {
          System.out.print("请输入上面的字符串的一个字串:");
          String subStr = s.next();
          int index = str.indexOf(subStr);
          // 只要索引不为-1,就是后面输入的字符串是前面字符串的一个字串
          if (index != -1) {
            // 字符串替换,用"hello"替换subStr
            str = str.replaceAll(subStr, "hello");
            System.out.println("替换后的字符串为:" + str);
            break;
          } else {
            System.out.println("您输入的字符串有误,请重新输入!");
          }

        }
      }

      2、BufferedReader输入

      BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
      String startTime = null; // 输入的上机时间
      Date startDate = null; // 格式转换后的上机时间
      while (true) {
      try {
        System.out.print("请输入上机时间(hh:mm格式):");
        startTime = bf.readLine();
        startDate = sdf.parse(startTime);

        //如果没有输出就跳出循环
        break;
      } catch (ParseException e) {
        System.out.println("格式错误,请重新上机时间(hh:mm格式):");
      }

      

  • 相关阅读:
    企业架构-发布在线文档【企业架构框架-TOGAF v0.2.pdf】
    以后我的blog部分主题在其他地方写,留意者请继续关注!
    2010年3月blog汇总:企业架构、团队管理
    参加了两天QCon会议,你有什么感觉?
    DDD - 使用聚合(Aggregate)来设计类库
    发布【报表引擎设计.pdf】
    关心你的blog统计数据 给博客增加免费统计服务
    推荐:C2C文档销售与分享社区豆丁
    个人管理 - 后续的个人管理系列文章列表,大家一起来提提建议
    BABOK 需求获取(Elicitation)
  • 原文地址:https://www.cnblogs.com/tyzl/p/5486923.html
Copyright © 2011-2022 走看看