java 输入控制_java控制台输入

本文详细介绍了Java控制台输入的三种方法:1. JDK 1.4及以下版本使用BufferedReader读取;2. JDK 5.0引入的Scanner类,方便读取各种基本类型;3. JDK 6.0的Console类,提供更便捷的控制台交互。并给出了相关代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、java控制台输入

java控制台输入有如下几个方法

1、JDK 1.4 及以下版本读取的方法

JDK 1.4 及以下的版本中要想从控制台中输入数据只有一种办法,即使用System.in获得系统的输入流,再桥接至字符流从字符流中读入数据。只能读取字符串,若需要读取其他类型的数据需要手工进行转换。代码如下:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String str = null;

try

{

str = br.readLine();

System.out.println(str);

}

catch (IOException e)

{

e.printStackTrace();

}

2、JDK 5.0 读取的方法

从 JDK 5.0 开始,基本类库中增加了java.util.Scanner类,根据它的 API 文档说明,这个类是采用正则表达式进行基本类型和字符串分析的文本扫描器。使用它的Scanner(InputStream source)构造方法,可以传入系统的输入流System.in而从控制台中读取数据。canner不仅可以从控制台中读取字符串,还可以读取除char之外的其他七种基本类型和两个大数字类型,并不需要显式地进行手工转换。代码如下:

Scanner scanner = new Scanner(System.in);

2     String str = scanner.nextLine();

System.out.println(str);

3、JDK 6.0 读取的方法

从 JDK 6.0 开始,基本类库中增加了java.io.Console类,用于获得与当前 Java 虚拟机关联的基于字符的控制台设备。在纯字符的控制台界面下,可以更加方便地读取数据。代码如下:

Console console = System.console();

if (console == null)

{

throw new IllegalStateException("不能使用控制台");

}

String str = console.readLine("console");

System.out.println(str);

Java 控制台输入数字 输出乘法表(代码练习)

最近,回忆了一些刚学习Java时经常练习的一些小练习题.感觉还是蛮有趣的,在回顾时想起好多学习时的经历和坎坷,一道小小的练习题要研究半天,珍重过往,直面未来.下面贡献代码,Java 控制台输入数字 输 ...

Java控制台输入字符串及字符串比较

需求描述:茵茵很喜欢研究车牌号码,从车牌号码上可以看出号码注册的早晚,据研究发现,车牌号码是按字典序发放的,现在她收集了很多车牌号码,请你设计程序帮她判断注册较早的号码.车牌号码由5个字母或数字组成. ...

自己做的demo---关于java控制台输入跟类型转化跟处理异常的demo

package exception; import java.util.InputMismatchException; import java.util.Scanner; /*public class ...

java 控制台输入

import java . util . Scanner ; public class Test { public static void main(String[] args) { Scanner ...

java 控制台 输入字符串

import java.util.Scanner; //导入输入类 public static void main(String[] args) {      //创建输入对象   Scanner s ...

java接收控制台输入

java控制台输入语句: Scanner sc = new Scanner(System.in); 通过一个变量,例如 int r; r = sc.nextInt();   例子: public st ...

java 通过控制台输入的数字打印菱形字母

package com.rui.test; import java.util.Scanner; /** * @author sunshine * @version 1.0 * @date:2015年1 ...

java.util.Scanner应用详解++扫描控制台输入

java.util.Scanner应用详解   java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java ...

随机推荐

BZOJ-3282 Tree Link-Cut-Tree(似乎树链剖分亦可)

蛋蛋用链剖A的,我写的LCT 3282: Tree Time Limit: 30 Sec Memory Limit: 512 MB Submit: 1241 Solved: 542 [Submit][ ...

安装好android的adt以后重启eclipse,但是没有创建AVD的图标

安装好android的adt以后重启eclipse,但是没有创建AVD的图标: 解决方法: 1. 先检查ADT是否已经安卓成功 2. Windows--- Customize Perspective ...

pip

查看安装的包 pip list

转:nginx防DDOS攻击的简单配置

文章来自于: 近期由于工作需要,做了些防DDOS攻击的研究,发现nginx本身就有这方面的模块ngx_http_limit_req_module和ngx_http_limit_conn_module. ...

(转) launch failed.Binary not found in Linux/Ubuntu解决方案

原地址: http://blog.youkuaiyun.com/abcjennifer/article/details/7573916 Linux下出现launch failed.Binary not found ...

Unity 编辑器扩展自定义窗体

这次看见Unity还可以自定义弹出窗体,让我很好奇.于是就去网上找文章看了看. 如果想自定义窗体需要把类放入Editor文件夹下面. 代码如下: using UnityEngine; using Un ...

二进制部署 Kubernetes 集群

二进制部署 Kubernetes 集群   提供的几种Kubernetes部署方式 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernet ...

BBS--功能4:个人站点页面设计(ORM跨表与分组查询)

查询: 日期归档查询 1 date_format ============date,time,datetime=========== create table t_mul_new(d date,t t ...

day15<集合框架>

集合框架(对象数组的概述和使用) 集合框架(集合的由来及集合继承体系图) 集合框架(Collection集合的基本功能测试) 集合框架(集合的遍历之集合转数组遍历) 集合框架(Collection集合 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值