执行程序时控制台出现问题
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
句子。
这是我的代码:
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
句子。