在Java中使用同一对象获取整数输入和字符串输入

时间:2020-07-28 00:08:06

标签: java

我是Java编程的新手。我正在阅读有关Scanner类的信息,因此决定编译一个简单程序:

package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner obj= new Scanner(System.in);
        Scanner obj2=new Scanner(System.in);
        int n=obj.nextInt();
        String s = obj.nextLine();
        System.out.println(n*2);
        System.out.println(s);
    }
}

通过使用对象obj,我只能读取整数输入,而不能让我读取String输入。为什么我们不能使用Scanner类的同一对象作为输入,因为对象的唯一用途是调用nextLine()之类的方法。

如果我使用此代码,

package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner obj= new Scanner(System.in);
        Scanner obj2=new Scanner(System.in);
        int n=obj.nextInt();
        String s = obj2.nextLine();
        System.out.println(n*2);
        System.out.println(s);
    }
}

对字符串使用不同的对象obj2,对整数使用obj,得到所需的输出。 任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner obj= new Scanner(System.in);
        int n=obj.nextInt();
        String s = obj.next();
        System.out.println(n*2);
        System.out.println(s);

    }

}

答案 1 :(得分:-3)

尝试:String s = obj2.next();