Java 扫描仪上的无接触异常

Java 扫描仪上的无接触异常,java,java.util.scanner,Java,Java.util.scanner,我的代码在使用扫描仪的每一行上都给了我一个NoTouchElementException。我的其余代码工作正常 import java.io.*; import java.util.*; import java.util.StringTokenizer; import java.util.Scanner; public class Store { public static void main(String [] args) { Scanner nameScanner = new Sc

我的代码在使用扫描仪的每一行上都给了我一个NoTouchElementException。我的其余代码工作正常

import java.io.*;
import java.util.*;
import java.util.StringTokenizer;
import java.util.Scanner;

public class Store
{

 public static void main(String [] args)
{
  Scanner nameScanner = new Scanner(System.in);
  System.out.println (); 
  System.out.println ("Enter your name: "); 
  String name = nameScanner.next();  

  Scanner whatToBuy = new Scanner (System.in);
  System.out.println (); 
  System.out.println ("What would you like to purchase from the store? Please list your items separated by commas: "); 
  String purchase = whatToBuy.nextLine();    


  Scanner howManyToBuy = new Scanner (System.in);
  System.out.println (); 
  System.out.println ("How many would you like to purchase from each item? You must purhase more than one of each item. Please list your items separated by commas. : "); 
  String howMany = howManyToBuy.nextLine();
}

 }

谢谢

您的代码中没有问题,您能显示跟踪吗? java.util.StringTokenizer有问题吗? 顺便说一下,您只能使用Scanner的一个实例。 e、 g


许多IDE不提供标准的输入流。执行窗口是一个虚拟环境,Java应用程序在后台运行,其输出被捕获并显示在窗口中,但没有输入no System.in。尝试在Windows上的命令提示符窗口或Mac上的Shell终端窗口中运行应用程序。

将第一个窗口更改为“下一行”。您输入了一个错误。可能是因为System.in不可用。您在哪里编译和运行此代码?。我在我的机器上编译并运行了代码,代码运行正常fine@NicholasK已经试过了,没用你能再检查一遍吗?我也做过同样的事情,很有效。你到底是如何给出输入的?你能在这里发布完整的堆栈跟踪吗
import java.io.*;
import java.util.*;
import java.util.StringTokenizer;
import java.util.Scanner;

public class Store {

    public static void main(String[] args) {
        try(Scanner scanner = new Scanner(System.in)){
            System.out.println();
            System.out.println("Enter your name: ");
            String name = scanner.next();
            System.out.println();
            System.out.println(
                    "What would you like to purchase from the store? Please list your items separated by commas: ");
            String purchase = scanner.next();
            System.out.println();
            System.out.println(
                    "How many would you like to purchase from each item? You must purhase more than one of each item. Please list your items separated by commas. : ");
            String howMany = scanner.next();
            System.out.printf("name:%s purchase:%s howMany:%s",name,purchase,howMany);
        }

    }

}