当我在网上评判时提交以下代码时,为什么会出现运行时错误?

时间:2017-03-04 17:16:10

标签: java

这是我的输入代码:

import java.util.*;

public class Main1 {

   public static void main (String args[]) {

       Scanner input = new Scanner (System.in);
           while (true)    {
           int n = input.nextInt();
           if (n != 2 && n != 4 && n != 6 && n != 8)
              break;
          else    {
               if (n == 2)    {
                   System.out.println ("00\n01\n81");
               }
               else if (n == 4)   {
                   System.out.println ("0000\n0001\n2025\n3025\n9801");
               }
               else if (n == 6)   {
                   System.out.println ("000000\n000001\n088209\n494209\n998001");
               }
               else if (n == 8)   {
                   System.out.println ("00000000\n00000001\n04941729\n07441984\n24502500\n25502500\n52881984\n60481729\n99980001");
               }
               else    {
               }
           }
       }
   }
}

1 个答案:

答案 0 :(得分:0)

您正在调用nextInt()而不检查是否有要读取的int。

可能在线测试会向您的程序输入非数字。

之前你应该调用hasNextInt()。