Java 控制台输入

 使用Scanner  

1、使用时需要引入包import java.util.Scanner;

2、首先定义Scanner对象 Scanner sc = new Scanner(System.in);

3、要输入Scanner的next()方法用以取得用户输入的字符串;nextInt()将取得的输入字符串转换为整数类型;同样,nextFloat()转换成浮点型;nextBoolean()转换成布尔型。

4、String类型的,则String temp = sc.next();或者String temp = sc.nextLine();

注意:next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab、

或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法

才将其后的输入的空格键、Tab或Enter键等视为分隔符或结束符。简单地说,next()查找并返回

来自此扫描器的下一下完整标记。完整标记的前后是与分隔模式的输入信息,所以next方法不能得到

带空格的字符串。

而nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是

可以得到带空格的字符串的。

import java.util.Scanner;

public class ScannerTest {

public static void main(String[] args){

String s1,s2;
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个字符串:");
//s1 = sc.nextLine();
s1=sc.next();
System.out.println("请输入第二个字符:");
//s2 = sc.next();
s2=sc.nextLine();
System.out.println("输入的字符串是:"+s1+"////////// "+s2);

}

}

5、String[] ss = s.split("分隔符");是用来拆分有明显分隔符的字符串的方法。

import java.util.Scanner;

public class CheckSameString {

public static void main(String[] args){

Scanner sc=new Scanner(System.in);

String str=sc.nextLine();
String[] ss = str.split(",");
for(int i=0;i<ss.length;i++){
System.out.println(ss[i]);

}
}

}

6、Scanner.hasNext()判断键盘输入

import java.util.Scanner;

public class ScannerTest {

public static void main(String[] args){

String str = null;
Scanner in = new Scanner(System.in);
System.out.println("请输入,按Enter键换行,按Ctrl+Z结束。");
while(in.hasNext()){ //这里怎么能够判断输入的是一空行----全部由空格字符组成
str = in.nextLine();
System.out.println(str);
str = null;
}
in.close();

}

}

BufferedReader取得含空格的输入

Scanner取得的输入以space, tab, enter 键为结束符,
  要想取得包含space在内的输入,可以用java.io.BufferedReader类来实现
  使用BufferedReader的readLine( )方法
  必须要处理java.io.IOException异常
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in ));
  java.io.InputStreamReader继承了Reader类

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

public class Test {

public static void main(String[] args){

BufferedReader br = new BufferedReader(new InputStreamReader(System.in ));
//java.io.InputStreamReader继承了Reader类
String read = null;
System.out.print("输入数据:");
try {
read = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("输入数据:"+read);

}

}

转载自http://blog.163.com/cy_hawk/blog/static/2605080752016321717442/

时间: 2024-11-03 05:21:06

Java 控制台输入的相关文章

java控制台输入Scanner、InputStreamReader、Console说明

java控制台输入 (2009-12-08 11:13:28) 转载▼ 标签: 杂谈 分类: corejava 0 引言从控制台中读取数据是一个比较常用的功能,在 JDK 5.0 以前的版本中的实现是比较复杂的,需要手工处理系统的输入流.有意思的是,从 JDK 5.0 版本开始,能从控制台中输入数据的方法每增加一个版本号,就有一种新增的方法,这也增加了选择的种类,可以依据不同的要求来进行选择.下面来看一下,各个版本中如何从控制台中读取数据以及各自的优缺点. 1 JDK 1.4 及以下版本读取的方

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

最近,回忆了一些刚学习Java时经常练习的一些小练习题.感觉还是蛮有趣的,在回顾时想起好多学习时的经历和坎坷,一道小小的练习题要研究半天,珍重过往,直面未来.下面贡献代码,Java 控制台输入数字 输出乘法表(代码练习).希望能给一些初学者一点点的启发.注释写的比较啰嗦,嘻嘻~ 因为博客园有要求"少于150字的随笔不允许发布到首页候选区",所以,凑几行字啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 //作者:我 //功能:九九乘法表 //时间:

Java 控制台输入 Scanner

1,Java 中 获取 控制台输入(System.in)的方法,一般有两种: (1) BufferedReader scin=new BufferedReader(new InputStreamReader(System.in)): (2) Java.util.Scanner scin=new Jave.util.Scanner (System.in): 2,使用Scanner 的方法: (1)是否有输入:hasNext()====>该方法是的终端一直处于等待控制台输入的状态,若自己不去控制,则

java控制台输入

Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); system.out.println(str); 其中scanner.nextLine()和scanner.next()区别如下: nextline从用户输入的第一个字符开始读取(包括空格字符),其中输入的字符串中间可以用空格,以enter贱结尾: next从用户输入的第一个非空格字符开始读取,以空格,tab减,enter结尾,所以读入的字符串不能

java 怎么实现接收控制台输入?

//接收键盘输入: //怎么实现接收控制台输入? import java.util.Scanner; //Test.java import java.util.Scanner; public class Test16{ public static void main(String args[]){ System.out.println("input a number:"); Scanner in =new Scanner(System.in); int x1=in.nextInt();

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

java.util.Scanner应用详解 java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都不怎么地. 一.扫描控制台输入 这个例子是常常会用到,但是如果没有Scanner,你写写就知道多难受了. 当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫

java接收控制台输入参数InputStreamReader

import java.io.BufferedReader; import java.io.InputStreamReader; // InputStreamReader 类在java.io中 public class rawinput { /* * 接收控制台输入数据 * 判断这个两个数据是否相等 */ public static void main(String[] args) { try{ InputStreamReader isr = new InputStreamReader(Syst

java中从控制台输入多行数据 按回车键输入空行结束

这篇博文是用Windows Live Writer写的,看看效果 下面是以前写的程序:java中从控制台输入多行数据 按回车键输入空行结束 //试过几个插件,发现插入代码后都不能复制, 但是插入图片还是很方便的, 用wlw写博客好处是可以离线, 以后就用wlw写,然后发布草稿,再到CSDN插入代码后发表文章,只是写个博客要这么艰难吗!!! <pre name="code" class="java">Scanner scanner = new Scanne

java控制台程序-读取输入的字符串,其中文字符变成乱码问题

GBK编码操作系统(如中文win7系统),在编写控制台程序时, 当读取控制台输入含中文的字符串出现乱码时可以通过以下方法解决: 前提:String strInput 保存了由控制台输入的字符串. 解决办法代码: byte[] byteInput = strInput.getBytes("ISO-8859-1"); strInput = new String(byteInput, "GBK"); 这样strInput中的中文字符便可正常.