c语言编程笔录

您现在的位置是:首页 > 编程 > 编程经验

编程经验

java输入时怎么通过回车来结束输入

吴美隆 2023-09-16编程经验
一、通过Scanner类来实现输入结束importjava.util.Scanner;publicclassScannerDemo{publicstaticvoidmain(String[]args){Scan

一、通过Scanner类来实现输入结束

import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);

      System.out.print("请输入字符串:");
      while (sc.hasNext()) {
         String str = sc.nextLine();
         if ("exit".equals(str)) {
            System.out.println("输入结束!");
            break;
         }
         System.out.println("输入的字符串为:" + str);
         System.out.print("请继续输入字符串(输入exit结束):");
      }
   }
}

Scanner类是Java.util包中的一个类,可以用于读取控制台数据。在以上代码中,通过while循环,不断读取用户输入的数据,当输入exit时,结束循环。

二、通过Console类来实现输入结束

使用Scanner类可以实现从控制台读取数据,但Scanner类无法带有控制台的颜色和特殊属性。为了能够实现带属性的命令行输入和读取,Java 6 提供了新的 Console 类。这是一个跨平台的类,可以实现在呼叫控制台的窗口中输入和输出文本。

import java.io.Console;

public class ConsoleDemo {
   public static void main(String[] args) {
      Console console = System.console();
      
      System.out.print("请输入字符串:");
      String str = console.readLine();
      while (!"exit".equals(str)) {
         System.out.println("输入的字符串为:" + str);
         str = console.readLine("请继续输入字符串(输入exit结束):");
      }
      System.out.print("输入结束!");
   }
}

在以上代码中,使用System.console()方法获取Console对象,然后使用readLine()方法从控制台读取数据。当输入exit时,结束循环,另外还可以使用readPassword()方法实现密码输入。

三、通过BufferedReader类来实现输入结束

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class BufferedReaderDemo {
   public static void main(String[] args) {
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      
      System.out.print("请输入字符串:");
      try {
         String str = br.readLine();
         while (!"exit".equals(str)) {
            System.out.println("输入的字符串为:" + str);
            System.out.print("请继续输入字符串(输入exit结束):");
            str = br.readLine();
         }
         System.out.print("输入结束!");
      } catch (IOException e) {
         e.printStackTrace();
      } finally {
         if (br != null) {
            try {
               br.close();
            } catch (IOException e) {
              
            }
         }
      }
   }
}

BufferedReader类可以实现从控制台读取数据,并且可以一次读取多个字符。在以上代码中,使用BufferedReader类一次读取一行数据,当输入exit时,结束循环。

四、总结

在Java中,有多种方式可以实现从控制台读取数据并以回车结束输入。通过Scanner类、Console类和BufferedReader类,我们可以方便地实现这一需求,并根据实际的业务需要来选择合适的方式。另外,在使用以上类进行输入时,应该注意关闭输入流,避免资源浪费和内存泄露。

文章评论