私は長い間プログラミングを行っていませんが、プログラム内でメソッドを宣言し、プログラムでこのメソッドを使用するのはこれが初めてです。その単純さでは、プログラムはユーザーに 5 桁の郵便番号を入力させ、私が作成したメソッドは、郵便番号がわずか 5 文字であり、すべて数字であることを確認します。郵便番号に何を入力してもプログラムでメソッドを使用すると、while ステートメントが実行され、郵便番号を再度入力するように求められます。これは、5 文字以外の文字列または数字のみの文字列を入力した場合にのみ発生します。ただし、現在、実際の郵便番号を入力しても発生しているため、メソッドに問題があると思われます。質問ではできるだけ明確にしようとしましたが、さらに明確にする必要がある場合は、明確にするよう努めることができます。あなたが提供できる情報をいただければ幸いです。これが私のコードです:
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
}