首页 > 代码库 > Java 控制台输入

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/

Java 控制台输入