What's the difference between next() and nextLine() methods from Scanner class?

后端 未结 14 2002
你的背包
你的背包 2020-11-21 05:32

What is the main difference between next() and nextLine()?
My main goal is to read the all text using a Scanner which may be \"con

14条回答
  •  鱼传尺愫
    2020-11-21 06:29

    next() and nextLine() methods are associated with Scanner and is used for getting String inputs. Their differences are...

    next() can read the input only till the space. It can't read two words separated by space. Also, next() places the cursor in the same line after reading the input.

    nextLine() reads input including space between the words (that is, it reads till the end of line \n). Once the input is read, nextLine() positions the cursor in the next line.

    import java.util.Scanner;
    
    public class temp
    {
        public static void main(String arg[])
        {
            Scanner sc=new Scanner(System.in);
            System.out.println("enter string for c");
            String c=sc.next();
            System.out.println("c is "+c);
            System.out.println("enter string for d");
            String d=sc.next();
            System.out.println("d is "+d);
        }
    }
    

    Output:

    enter string for c abc def
    c is abc

    enter string for d

    d is def

    If you use nextLine() instead of next() then

    Output:

    enter string for c

    ABC DEF
    c is ABC DEF
    enter string for d

    GHI
    d is GHI

提交回复
热议问题