重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
通过Scanner实现键盘读取输入。
创新互联建站主要从事成都做网站、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务明溪,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
Scanner使用正则表达式来解析基本类型和字符串的简单文本扫描器。通过Scanner扫描System.in的输入流,可以获取到键盘信息。
比如:
例如,以下代码使用户能够从键盘输入一个数:
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
使用System.in.read可以读取键盘的输入,但是一般不会这样去操作,可以使用java.util.Scanner来配合System.in来进行数据的操作,举例如下:
Scanner in=new Scanner(System.in);
String readLine = in.nextLine(); //读取键盘输入的一行(以回车换行为结束输入)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
* System.in 标准输入流。是从键盘获取数据的
*
* 键盘录入数据:
* A:main方法的args接收参数。
* java HelloWorld hello world java
* B:Scanner(JDK5以后的)
* Scanner sc = new Scanner(System.in);
* String s = sc.nextLine();
* int x = sc.nextInt()
* C:通过字符缓冲流包装标准输入流实现
* BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
*/
public class SystemInDemo {
public static void main(String[] args) throws IOException {
// //获取标准输入流
// InputStream is = System.in;
// //我要一次获取一行行不行呢?
// //行。
// //怎么实现呢?
// //要想实现,首先你得知道一次读取一行数据的方法是哪个呢?
// //readLine()
// //而这个方法在哪个类中呢?
// //BufferedReader
// //所以,你这次应该创建BufferedReader的对象,但是底层还是的使用标准输入流
// // BufferedReader br = new BufferedReader(is);
// //按照我们的推想,现在应该可以了,但是却报错了
// //原因是:字符缓冲流只能针对字符流操作,而你现在是字节流,所以不能是用?
// //那么,我还就想使用了,请大家给我一个解决方案?
// //把字节流转换为字符流,然后在通过字符缓冲流操作
// InputStreamReader isr = new InputStreamReader(is);
// BufferedReader br= new BufferedReader(isr);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一个字符串:");
String line = br.readLine();
System.out.println("你输入的字符串是:" + line);
System.out.println("请输入一个整数:");
// int i = Integer.parseInt(br.readLine());
line = br.readLine();
int i = Integer.parseInt(line);
System.out.println("你输入的整数是:" + i);
}
}
某个时刻读取? 需要特定时间? 如果仅仅是输入很简单, 比如: Scanner scanner=new Scanner(System.in); System.out.println("请输入:"); String s = scanner.next(); System.out.println("打印输入:" + s); 追问: 有个固定时间的 回答: 什么时间呢?具体点吧.. 是倒计时还是准确时间/.? 追问: 准确时间 回答: 做一个定时器就可以了哈. 在指定时间执行指定的操作. 追问: 对的说的不错 要实际点 代码 回答: public class Test{ public class TimerTest extends TimerTask { public void run() { Scanner scanner=new Scanner(System.in); System.out.println("请输入:"); String s = scanner.next(); System.out.println("打印输入:" + s); } } public void RunTest() { TimerTest task = new TimerTest(); Timer timer = new Timer(); Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); cal.roll(Calendar.SECOND, 5); // 当前时间基础上加上5秒 timer.schedule(task, cal.getTime()); } public static void main(String arg[]) { Test t = new Test(); t.RunTest(); } }