`

Java从控制台输入获取数据的几种常用方法

 
阅读更多

1、使用标准输入串对象System.in

System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字,这就很不适合,需要其他方法取得这样的输入,这时可以使用java.util.Scanner类。

2、使用Scanner取得一个字符串或一组数字

importjava.util.Scanner;

publicclassScannerDemo{

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

System.out.print("Pleaseenterastring:");

System.out.print("Yourinputis:"+sc.next());

}

}

在新增一个Scanner对象时需要一个System.in对象,因为实际上还是System.in在取得用户输入。Scanner的next()方法用以取得用户输入的字符串;nextInt()将取得的输入字符串转换为整数类型;同样,nextFloat()转换成浮点型;nextBoolean()转换成布尔型。

3、使用BufferedReader取得含空格的输入

Scanner取得的输入以space,tab,enter键为结束符,要想取得包含space在内的输入,可以用java.io.BufferedReader类来实现。例如:

importjava.io.*;

publicclassBufferedReaderDemo{

publicstaticvoidmain(String[]args)throwsIOException{

//使用BufferedReader的readLine()方法

//必须要处理java.io.IOException异常

BufferedReaderbr=newBufferedReader(

newInputStreamReader(System.in));

//java.io.InputStreamReader继承了Reader类

Stringtx=br.readLine();

System.out.println(tx);

}

}


循环获取数据的实现
StringBuffer response = new StringBuffer();
BufferedInputStream buff = new BufferedInputStream(System.in);或
BufferedReader buff = new BufferedReader(new InputStreamReader(System.in));
char inChar;
try {
int in = buff.read();
while (in != -1 && in != '\n') {
inChar = (char)in;
response.append(inChar);
in = buff.read();
}
buff.close();
} catch (IOException e) {
e.printStackTrace();
}

分享到:
评论

相关推荐

    Java中从命令控制台输入数据的几种常用方法

    本文将详细介绍几种常用的在Java中从命令控制台输入数据的方法,包括直接使用`System.in`、使用`java.util.Scanner`类、使用`java.io.BufferedReader`类以及利用图形用户界面(GUI)组件进行输入。 ### 1. 使用`...

    java的数据输入:从控制台输入数据借鉴.pdf

    Java 数据输入:从控制台获取数据是编程中最基础的操作之一,尤其在命令行环境中,用户交互主要通过控制台进行。本文将深入探讨Java如何从控制台接收数据,并介绍三种主要方法:标准输入流、Scanner类以及Console类...

    java 考勤模拟程序 采用二进制存储用户 控制台输入输出 并有用户操作的日志记录

    控制台输入输出是许多早期程序和学习项目常用的方式,它简单且直观。在本程序中,用户通过控制台输入用户名、密码等信息进行登录,或者输入其他命令进行考勤操作。Java的`System.in`用于获取键盘输入,`System.out....

    JAVA输入数字(复杂版)

    1. **Scanner类**:Java标准库提供了`java.util.Scanner`类用于从各种输入源(如键盘、文件、网络连接等)读取数据。在这个场景下,我们可以使用`Scanner`从控制台获取用户的输入。 2. **nextLine()方法**:`...

    java练习题10.txt

    在这个例子中,Scanner类被用来获取用户从控制台输入的数字。 3. 控制流语句:if-elseif条件语句用于根据不同的条件执行不同的代码分支。在这个练习题中,if-elseif结构用来判断用户输入的数字,并输出对应的星期几...

    java图书管理系统

    6. **控制台输入/输出**:对于初学者,系统可能首先从命令行交互开始。要学会使用System.out.println()进行输出,以及Scanner类获取用户输入。 7. **异常处理**:在处理用户输入或文件操作时,可能出现各种异常情况...

    JAVA程序设计:第9章 基于文本的Java应用程序.ppt

    `System.in`是一个`InputStream`,用于从标准输入设备(如键盘)读取数据。在处理输入时,通常需要根据实际需求进行类型转换或使用特定的输入流类。 4. **Console I/O**:在控制台进行输入输出是Java开发中最基础的...

    简单java小程序

    例如,FileInputStream和FileOutputStream用于文件读写,Scanner类可以从控制台获取用户输入。 6. **集合框架**:Java集合框架包括接口(如List, Set, Queue)和实现这些接口的类(如ArrayList, HashSet, ...

    java练习题9.txt

    `System.out.println`是一个常用的输出方法,用于将信息输出到控制台。方法中的参数是要输出的内容,Java会在参数的值后面自动加上换行。 上述内容涵盖了Java语言的一些核心概念,如包的使用、类和对象、基本语法...

    一个JAVA的登陆系统

    3. **输入输出**:为了获取用户的登录信息,我们需要使用Java的输入流(如Scanner类)从标准输入(通常是键盘)读取数据。如果涉及到文件存储用户信息,还可以使用FileReader、BufferedReader等类进行文件读写。 4....

    JAVA-ATM.rar_Java 实现 自动 取款机 模拟 程序_atm java_java ATM_java 银行_自动提款

    3. **用户交互界面**:ATM模拟程序需要一个友好的用户界面,可能使用控制台输入输出或图形用户界面(GUI)。对于控制台应用,可以使用Scanner类获取用户输入,输出结果则通过System.out.println()方法;如果使用GUI...

    Java大学教程3源代码

    Java提供了标准输入输出流,其中`System.out.println()`方法用于在控制台上打印一行文本。该方法可以接受多种类型的参数,并自动将它们转换为字符串形式进行输出。例如: ```java System.out.println("ĸ" + c + " ...

    简单的银行系统_Java技术

    7. **输入/输出流**:Java的`Scanner`类用于从用户获取输入,例如开户时的个人信息。文件I/O可以用于持久化存储账户信息,避免数据丢失。 8. **控制台交互**:通过`System.out.println()`和`Scanner.nextLine()`...

    Java语言程序设计基础第十版第十二章课后复习题答案

    **问题:** 举例说明几种常见的`RuntimeException`异常。 **解答:** `RuntimeException`是一种非检查异常,常见类型包括: - `NullPointerException`: 当应用试图访问一个空对象实例的一个成员时抛出。 - `...

    java atm机

    这可能涉及到控制台输入/输出或者图形用户界面(GUI)。如果是控制台界面,可以使用Scanner类来获取用户输入;如果是GUI,可能会用到Java Swing或JavaFX库。 7. **数据持久化**:为了保存用户的账户信息,我们需要...

    Java开发技术大全 电子版

    7.6.1控制台输入类Scanner257 7.6.2格式化输出printf258 7.7序列化261 7.8本章小结264 第4篇Java中的高级技术 第8章Java的多线程机制266 8.1线程的概念266 8.1.1多线程的特点266 8.1.2线程的状态267 8.2...

    java面试题

    51.5. java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 25 52. 数据连接池 25 52.1. 连接池的基本原理: 25 52.2. 连接池的工作机制 25 52.3. 建立连接池 26 ...

Global site tag (gtag.js) - Google Analytics