0

Java を使い始めたばかりで、Do/While ループとブール値を学習しています。ただし、nexInt でエラーが発生し続けます。私は自分が何をしているのか分かりません:)。このプログラムが完了するはずの割り当ては次のとおりです。「パスワード変数を設定し、この変数にパスワードを割り当てます。プログラムを実行し、無効なパスワードを入力して、ブール論理が正しいかどうかを確認します。正しいパスワードが入力されたら、プログラムは入力を求めるのをやめるべきです。」

これが私がこれまでに持っているものです:

import java.util.Scanner;
import static java.lang.System.*;

class PasswordCheck
{
    private String password;

    public PasswordCheck()
    {
        password = "ilovecats";
    }

    public void check()
    {
        Scanner keyboard = new Scanner(System.in);
        do
        {
            int p;
            System.out.println("Enter the password :: ");
            p = in.nextInt();
            System.out.println("INVALID");
        }while (password!=p);
        System.out.println("VALID");
    }
}
4

1 に答える 1

0

まず、スキャナを として定義してkeyboardから、 から読み取ろうとしていますin。次に、 のint代わりに を読んでいStringます。

第三に、文字列の比較は.equalsJava で行われます。

import java.util.Scanner;
import static java.lang.System.*;

class PasswordCheck
{
    private static String password = "ilovecats";

    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        while (true)
        {
            String p;
            System.out.println("Enter the password :: ");
            p = in.next();
            if (!password.equals(p)) {
                System.out.println("INVALID");
                continue;
            }
            break;
        } 
        System.out.println("VALID");
    }
}
于 2015-01-27T22:03:55.220 に答える