我编程时间不长,这是我第一次在我的程序中声明一个方法并在程序中使用这个方法。简单来说,该程序让用户输入一个 5 位数的邮政编码,我创建的方法检查邮政编码是否只有 5 个字符并且都是数字。当我在程序中使用该方法时,无论我输入什么邮政编码,while 语句都会运行,要求我再次输入我的邮政编码。仅当您输入的字符串不是五个字符或只有数字的字符串时才会发生这种情况。但是,现在即使输入了实际的邮政编码,它也会发生,让我假设该方法有问题。我试图在问题中尽可能清楚,但如果需要进一步澄清,我可以尝试澄清问题,您可以提供的任何信息将不胜感激。这是我的代码:
import java.util.Scanner;
public class BarCode {
public static void main(String[] args) {
String zipcode;
Scanner in = new Scanner(System.in);
System.out.println("Please enter a 5 digit zipcode: ");
zipcode = in.nextLine();
while (checkInput(zipcode) == false) {
System.out.println("You did not enter a 5 digit zipcode: ");
zipcode = in.nextLine();
} // end while
} // ends main
public static boolean checkInput(String zipcode) {
boolean zipcodeLength = true;
boolean zipcodeDigits = true;
if (zipcode.length() != 5) {
zipcodeLength = false;
} // end if statement
for (int i = 0; i <= zipcode.length(); i++) {
if (!Character.isDigit(i)) {
zipcodeDigits = false;
} // end if statement
} // end for statement
if (zipcodeLength == false || zipcodeDigits == false) {
return false;
} // end if statement
else {
return true;
} // end else statement
} // end checkInput
}