执行程序时控制台出现问题

Problem with a console whoile executing program

这是我的代码:

import java.util.*;

    public class Main {
      
      public static void main(String[] args) {
          Scanner scan = new Scanner(System.in);
          System.out.println("Enter area code: ");
          int areaCode = scan.nextInt();
          
          System.out.println("Enter number: ");
          int localNumber = scan.nextInt();
          
          String phoneNumber = "(" + areaCode + ")-" + localNumber;
          
          System.out.println("Calling number "+phoneNumber);
            
    
        }
    
    }

执行没问题,程序要求输入两个 int 变量,但是当我尝试提交我的任务时,我在控制台中收到了这样的消息:

Number of passing tests: 0
Number of failing tests: 2

--- Details ---

JUnit version 4.11
.E.E
Time: 0.053
There were 2 failures:
1) areaCode222Number3334444_ShouldPrintFormattedNumber(MainTest)
org.junit.ComparisonFailure: expected:<[]Calling number (222)...> but was:<[Enter area code: 
Enter number: 
]Calling number (222)...>

如何处理?我应该清理控制台吗??

提前致谢

在每次出现 nextInt 句子后尝试此操作:

field.nextLine();

此方法将 Scanner 实例(扫描)推进到当前行和 returns 被跳过的输入之后。

您的代码应如下所示:

-- 折叠包和导入语句 --

public class Main {



public static void main(String[] args) {
      Scanner scan = new Scanner(System.in);
      System.out.println("Enter area code: ");
      int areaCode = scan.nextInt();
      scan.nextLine();
  
  System.out.println("Enter number: ");
  int localNumber = scan.nextInt();
  scan.nextLine();
 
  String phoneNumber = "(" + areaCode + ")-" + localNumber;
  
  System.out.println("Calling number "+phoneNumber);    
}
}

编辑:语法。

自动化测试似乎不希望打印“输入区号:”和“输入号码:”消息。只需从您的代码中删除打印这些行的两个 System.out.println 句子。