【发布时间】:2025-11-23 02:35:01
【问题描述】:
do{
out.println("\n---------------------------------");
out.println("---------------------------------");
out.print("Please type your acces card number: ");
try{
card = input.nextInt();
if(card.length != 10){
out.println("The number you typed is incorrect");
out.println("The number must be 10 numbers long");
continue;
}
}
catch(InputMismatchException ex){
}
}while(true);
我正在尝试使卡片长度为 10 个字符。与 (1234567890) 类似,如果用户输入 (123) 或 (123456789098723),则会出现错误消息。 card.length 似乎不起作用。
【问题讨论】:
-
也许您可以先尝试接收纯字符串,然后将其解析为整数。
-
我支持“将卡号视为字符串”的方法 - 通常卡号不需要对其执行数学运算,adn 可以包含前导零,因此使用字符串实际上是明智的代表。
标签: java