Java --- Scanner类

java.util.scanner是java5的新特性通过Scanner类来获取用户的输入。

创建Scanner对象: Scanner s = new Scanner(System.in);

常用的方法:

1. 获取输入的字符串 next()和nextLine() 

1.1 next()方法接收字符串

public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
        // next方式接收字符串
        System.out.println("next方式接收:");
        // 判断是否还有输入
        if (scanner.hasNext()) {
            String str1 = scanner.next();
            System.out.println("输入的数据为:" + str1);
        }
        scanner.close();
	}	

输出结果为:

1.2 nextLine()方法接收字符串 

public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
        // next方式接收字符串
        System.out.println("nextLine方式接收:");
        // 判断是否还有输入
        if (scanner.hasNextLine()) {
            String str1 = scanner.nextLine();
            System.out.println("输入的数据为:" + str1);
        }
        scanner.close();
	}

输出的结果为:

 可以看出两者的区别:

扫描二维码关注公众号,回复: 9027383 查看本文章

next()

     1.一定要读到有效字符后才可以结束输入

     2.对输入有效字符之前遇到的空白,next()方法会自动将其去掉

     3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符

     4.next()方法不能得到带有空格的字符串

nextLine()

     1.以Enter为结束符,即nextLine()方法返回的是输入回车之前的所有字符

     2.可以获得空白

2.获得数值类型的数据,在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取

    Scanner sc=new Scanner(System.in);

找变量接收  sc.nextShort(); //short类型
                    sc.nextByte();  //byte
                    sc.nextInt();   //int
                    sc.nextLong();  //long
                    sc.nextFloat();
                    sc.nextDouble();
                    sc.nextBoolean();
          

发布了91 篇原创文章 · 获赞 1 · 访问量 3213

猜你喜欢

转载自blog.csdn.net/duan196_118/article/details/104142487