编译器在Double之后跳过读取String

时间:2018-10-19 13:05:41

标签: java

我在一个项目上工作,我发现当我从Scanner的一个obj读取多个字符串时,它可能会跳过一个,而当我创建多个obj时,它就可以解决,但是为什么会发生这种情况,我的意思是循环处理器通过! 在此代码变量中,z被跳过,程序结束,因此任何人都可以帮助我解决这个问题,谢谢。

    package calculater;
    import java.util.Scanner;
    public class Calculater {

        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            String x = scan.nextLine();
            double y = scan.nextDouble();
            String z = scan.nextLine();
        }

    }

1 个答案:

答案 0 :(得分:0)

您可以尝试写

double y = Double.parseDouble(scan.nextLine());

代替

double y = scan.nextDouble();