使用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/