从控制台读取Java字符串
时间:2020-02-23 14:36:47 来源:igfitidea点击:
今天,我们将研究从Java中的控制台读取字符串的不同方法。
从控制台读取Java字符串
我们可以使用以下类从控制台读取输入。
- 缓冲读取器
- 扫描器
使用BufferedReader从控制台读取Java字符串
BufferedReader
类来自Java IO包。
我们可以使用BufferedReader从字符输入流中读取文本。
下面是一个简单的程序,可从控制台读取字符串数据并以小写形式打印。
package com.theitroad.examples; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class JavaReadFromConsoleBufferedReader { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter Input String:"); String input = br.readLine(); br.close(); System.out.println("Input String in Lower Case = " + new String(input).toLowerCase()); } }
下面是上述程序的一个示例运行所产生的输出。
Enter Input String: Java Developer Input String in Lower Case = java developer
使用扫描仪从控制台读取Java
如果您注意到上面的代码,则BufferedReader并不灵活,并且选项非常有限。
我们只能将输入数据读取为String。
因此,Java 1.5中引入了Scanner类,以便可以从控制台中读取许多选项。
我们可以使用Scanner类将String,原始数据类型(如int,long等)读取为String。
我们还可以读取不同基数的输入数字(如二进制)并将其读取为整数。
让我们看一下如何使用Scanner类从控制台读取输入数据。
package com.theitroad.examples; import java.util.Scanner; public class JavaReadStringFromConsoleScanner { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Please enter a String:"); String input = sc.nextLine(); System.out.println("Input String in Upper Case = " + input.toUpperCase()); System.out.println("Please enter a integer in Binary Format:"); int i = sc.nextInt(2); System.out.println("Number in Decimal = " + i); sc.close(); } }
下面是上述程序在执行时产生的输出,并且在Console中提供了输入。
Please enter a String: Java Read String using Scanner Class Input String in Upper Case = JAVA READ STRING USING SCANNER CLASS Please enter a integer in Binary Format: 110110 Number in Decimal = 54