java-键盘输入-使用Scanner类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/idealcitier/article/details/82287042

最近在看一些面试题目,需要通过键盘输入一些内容然后对数据进行处理,如何通过键盘输入内容是一个问题
可以通过的Scanner类获取用户的输入.

Scanner在java.util.Scanner下面,常用的方法有:
- next()
- hasNext()
- nextLine()
- hasNextLine()

next()

用于获取的输入的内容.

import java.util.Scanner;

class Next{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        String content = sc.next();
        System.out.println(content);
    }
}

运行上面的程序

java Next
123 demo
// 下面为输出的内容
123

上面的输入的内容为被完全的输出,这就是next()方法的特点.以空格为中断,后面的内容不再进行输出.

下面在举一个栗子:

java Next
         123 demo
//下面为输出的内容
123

开始空格的部分不进行输出

next()的特点

  • 以空格为中断符,空格后面的内容就停止输出了
  • 若输入的开始为空格,那个开始的空格不予显示

hasNext()

判断输入的内容时候结束,若没有内容则返回false,若还有内容则返回为true

import java.util.Scanner;

class HasNext{
    public static void main(String[] args){
        Scanner sc = new Scanner("   123 demo ");


        while(sc.hasNext()){
        String content = sc.next();
        System.out.println(content);
        }
    }
}

上面的代码的输出为

123
demo

nextLine()

该方法把输入的内容按行进进行输出,看下面的代码实例.

import java.util.Scanner;

class NextLine{
        public static void main(String[] args){
                Scanner sc = new Scanner(System.in);


                String content = sc.nextLine();
                System.out.println(content);

        }
}

下面运行上面的例子

java NextLine
         sdfdfd  assds      ads
//输出的内容
         sdfdfd  assds      ads

hasNextLine()

hasNext()类似,只是该方法以回车为终止符,看下面的例子

class NextLine{
        public static void main(String[] args){
                Scanner sc = new Scanner(" aksjdsa    sd \n asdsads");


                String content = sc.nextLine();
                System.out.println(content);

        }
}

输出的结果为:

 aksjdsa    sd
 asdsads

summer

next() 与 nextLine() 区别
next()

  • 一定要读取到有效字符后才可以结束输入。
  • 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
  • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
    next() 不能得到带有空格的字符串。
    nextLine()

  • 以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。

  • 可以获得空白。

猜你喜欢

转载自blog.csdn.net/idealcitier/article/details/82287042