&引用;Java.Util.NoSuchElementException:未找到行;

&引用;Java.Util.NoSuchElementException:未找到行;,java,java.util.scanner,Java,Java.util.scanner,//我不知道怎么回事?请帮帮我。我可以使用//scanner。我无法输入值。Java.Util.NoSuchElementException:找不到行// //String arrayValue = null; int Rows= boardsize, Columns=boardsize; int[][] sudokuArray = new int[Rows][Columns];

//我不知道怎么回事?请帮帮我。我可以使用//scanner。我无法输入值。Java.Util.NoSuchElementException:找不到行//

 //String arrayValue = null;
                    int Rows= boardsize, Columns=boardsize;
                    int[][] sudokuArray = new int[Rows][Columns];
                    String[] sudokuTempArray;
                    String delimiter = "\\,";

                    @SuppressWarnings("resource")
                    Scanner userInput = new Scanner(System.in);


                    for(int i=0;i<Rows;i++ ){   
                        System.out.println("Enter the value of array separated by ',' for row" + i);

                        while(userInput.hasNext())
                        {
                            String arrayValue = userInput.next();
                            sudokuTempArray = arrayValue.split(delimiter);
                            if(sudokuTempArray.length == Rows)
                            {

                                for (int j = 0;j<Columns;j++)
                                {
                                    sudokuArray[i][j] = Integer.parseInt(sudokuTempArray[j]);
                                    System.out.println(sudokuArray[i][j]);
                                }

                            }
                        }
                        /*
                            else
                            {
                                System.out.println("Try again!");
                            }*/


                    }
//字符串arrayValue=null;
int行=boardsize,列=boardsize;
int[]sudokuArray=新的int[行][列];
字符串[]sudokuTempArray;
字符串分隔符=“\\,”;
@抑制警告(“资源”)
扫描仪用户输入=新扫描仪(System.in);

对于(int i=0;i如果您以前使用过从System.in读取的扫描仪并关闭了该扫描仪,则您将关闭System.in InputStream


您以前是否关闭了从系统读取数据的扫描仪?

是,这是一个常见错误。请查看我对这个问题的回答

他基本上在另一个方法中关闭了输入,您可能也在这样做

搜索。关闭代码库

见此:

导入java.util.*; 导入java.util.StringTokenizer; 班次 { 扫描仪sc=新的扫描仪(System.in); 无效测试(int x) {

String s=sc.nextLine();
StringTokenizer st=新的StringTokenizer;
字符串“文”;
{
而(st.hasMoreTokens())
{
字符串温度=st.nextToken();

对于(int i=1;i哪个是行号导致异常?告诉行号或发布stacktrace.yes.if(userInput.hasNextInt()){boardsize=userInput.nextInt();//userInput.close();我仍然无法添加数组中的所有值。
    String s=sc.nextLine();
    StringTokenizer st=new StringTokenizer(s);
    String wen="";
    {
        while(st.hasMoreTokens())
        {
            String temp=st.nextToken();
            for(int i=1;i<=x;i++)
            {
                wen=wen+temp+" ";
            }
        }
        System.out.print(wen);
    }
}
public static void main(String args[])
{
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    shift reff=new shift();
    if(n<=0)
    {
        System.out.print("EMPTY");
    }
    else
    {
    reff.test(n);
    }
}