&引用;“线程中的JEException”;“主要”;java.util.NoSuchElementException:未找到行;

&引用;“线程中的JEException”;“主要”;java.util.NoSuchElementException:未找到行;,java,java.util.scanner,Java,Java.util.scanner,有人能帮我吗 当我通过扫描仪读取文件时,程序中出现运行时异常 Exception in thread "main" java.util.NoSuchElementException: No line found at java.util.Scanner.nextLine(Scanner.java:1540) at TP.main(TP.java:10) 我的代码是: import java.util.Scanner; public class TP { publi

有人能帮我吗

当我通过扫描仪读取文件时,程序中出现运行时异常

Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1540)
at TP.main(TP.java:10)
我的代码是:

  import java.util.Scanner; 
  public class TP 

  {
      public static void main(String[] args) 

      {
          Scanner input = new Scanner(System.in);

          String plainText = input.nextLine();
       //   String plainText="this is the oringinal text and ready for encrypt";
          plainText=plainText.replace(" ", "");
          String key="54312";
          int cols=key.length();
          int leng=plainText.length()/cols;
          int rows=leng/2;
          String ct[][]=new String[rows][cols];
          String ac[][]=new String[rows][cols];
              for(int i=0,p=0;i<cols & p<plainText.length();i++,p+=8)
              {
                  for(int j=0,k=p;j<cols & k<leng+p;j++,k+=2)
                  {
                      ct[j][i]=plainText.substring(k,k+2);
                  }
              }
          System.out.println("1  2  3  4  5");
          for(int i=0;i<rows;i++)
          {
              for(int j=0;j<cols;j++)
              {
                  System.out.print(ct[i][j]+" ");
              }
              System.out.println();
          }
  int ky=Integer.parseInt(key);          
          int num[]=new int[key.length()];
          if(ky>9)
          {
              int div=ky;
              for(int i=key.length()-1;i>=0;i--)
              {
              if(div%10==0)
                  {
                      num[i]=div/10;
                      div = div%10;
                  }
              else
                  {
                      num[i]=div % 10;
                     div = div/10;
                  }
              }
          }
          System.out.println("*************");
          for(int i=0;i<cols;i++)
          {
             for(int j=0;j<rows;j++)
             {
                 ac[j][i]=ct[j][num[i]-1];
             }
          }
          for(int i=0;i<rows;i++)
          {
             for(int j=0;j<cols;j++)
             {
                System.out.print(ac[i][j]+" ");
             }
              System.out.println();
          }
      }
  }
import java.util.Scanner;
公共类TP
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
字符串明文=input.nextLine();
//String plainText=“这是原始文本,可以加密”;
纯文本=纯文本。替换(“,”);
String key=“54312”;
int cols=key.length();
int leng=plainText.length()/cols;
int行=长度/2;
字符串ct[][]=新字符串[行][cols];
字符串ac[][]=新字符串[行][cols];

对于(int i=0,p=0;iI)我尝试使用注释输入运行代码,其结果为ok。向我显示此错误Main。java:2:错误:类TP是公共的,应该在名为TP.java公共类TP的文件中声明。您的ide是什么?它的Intellij IDEAokay我尝试了它,它的工作谢谢