有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JAVAutil。非接触元素异常

import java.util.Scanner;
class Codechef
{
  public static void main (String[] args)
  {
   Scanner in=new Scanner(System.in);
   int T= in.nextInt();

   for(int k=0;k<T;)
   {
     int M=in.nextInt();
     int N=in.nextInt();
     int product=M*N;
     Double result=0.0;
     for(int i=2;i<product/2;i++)
     {
       if((product%Math.pow(i,2))==0)
       {
        result=product/Math.pow(i,2);
       }
     }
     System.out.println(result);
    }
  }
} 
    

输入:

2

10 15

9 3

输出:

6.0

3.0

错误:

Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at Codechef.main(Main.java:18)

我的程序实际上是打印最小平方,可以从给定的 长度*宽度尺寸 当我接受一次输入时,我的代码工作正常,但我希望接受用户想要的任意多的输入,为此,在接受输入M和N之前,我已经应用了循环,但现在它抛出了运行时错误,尽管在第15行中没有循环,它工作正常 任何帮助都将不胜感激。提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    我看到你的循环将是无限的,因为你没有增加你的计数器。 由于这是一个无限循环,它会耗尽你的输入,这就是异常的原因

    在第一个循环中添加k++就像在第二个循环中添加i++一样。 这应该能解决问题