Scanner.nextLine()控制台输入问题



我在使用java Scanner类的nextLine()方法时遇到了麻烦。

我需要从控制台读取整行,带空格,我不能这样做,因为之前读取int/string会以某种方式影响该行的读取,并且我得到一个空字符串。

我可以用next()读取一个字符串,但我需要…之间的空格

下面是一段代码:

        String[] parametri = new String[7];
        System.out.println("Izberite vrsto transakcije:n 1.Dobavnica n 2.Izdajnican");
        parametri[0] = String.valueOf(scan.nextInt());
        System.out.print("Korisnik (id): ");
        parametri[2] = String.valueOf(scan.nextInt());
        //!!! here is the error
        System.out.print("Korisnik (ime): ");
        parametri[3] = scan.nextLine();
        //!!! and here
        System.out.print("Artikel: ");
        parametri[4] = scan.nextLine();
        System.out.print("Enota količine: ");
        parametri[5] = scan.next();
        System.out.print("Količina: ");
        parametri[6] = String.valueOf(scan.nextInt());

输出是斯洛文尼亚语,这是一个交易参数输入

调用nextInt()后,输入缓冲区中仍然有一个插入字符('n')。您需要使用scanner.skip("[rn]+")

删除它

相关内容

  • 没有找到相关文章

最新更新