Java控制台输入教程~~~~
当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所有输入的内容传给Scanner,作为扫描对象。如果要获取输入的内容,则只需要调用Scanner的nextLine()方法即可
- import java.util.Scanner;
- /**
- * 扫描控制台输入
- *
- */
- public class ScannerTest{
- public static void main(String[] args) {
- Scanner s = new Scanner(System.in);
- int i = s.nextInt();
- System.out.println("请输入字符串:");
- while(true) {
- String lin = s.nextLine();
- if(lin.equals("exit")) break;
- System.out.println(">>>" + lin);
- }
- }
- }
在新增一个Scanner对象时需要一个System.in对象,因为实际上还是System.in在取得用户输入。Scanner的next()方法用以取得用户输入的字符串;nextInt()将取得的输入字符串转换为整数类型;同样,nextFloat()转换成浮点型;nextBoolean()转换成布尔型。
- public class test{
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- String name = sc.nextLine();
- int age= sc.nextInt();
- System.out.println(age+ "," + name);
- }
- }
这种情况下要等待两次回车。。
nextLine()和next()两者的区别:
当你输入的一行:123 2342 1212
注意,其中123和2342之间有空格,2342和1212之间也有空格
这样,next()返回的是123,(next遇到空格或者回车就停止)next()不能得到带有空格的字符串。
而nexLine()返回的是整行:123 2342 1212(nextLine遇到回车才停止)