0

私は基本的にスーパークラスの使い方を知っていることを示す小さなプログラムに取り組んでいます。私のブール値を除いて、すべてがうまく機能します。メーリングリストに登録したいのですが、利用をお願いすることになっています。「はい」が入力された場合、ブール値は true になり、「いいえ」が入力された場合は false になります。私の問題は、「いいえ」と入力しても「はい」として登録され、ブール値がtrueになることです。助けてください?(それが理にかなっていることを願っています。)

 import java.util.Scanner;

public class CustomerDemo 
{
    public static void main(String[] args) 
    {
        String name;
        String address;
        String telephone;
        int customerNumber;
        String input;
        boolean mail = false;

        Scanner keyboard = new Scanner(System.in);

        System.out.print("Enter your name: ");
        name = keyboard.nextLine();

        System.out.print("Enter your address: ");
        address = keyboard.nextLine();

        System.out.print("Enter your phone number: ");
        telephone = keyboard.nextLine(); 

        System.out.print("Enter your customer number: ");
        customerNumber = keyboard.nextInt();

        keyboard.nextLine();

        System.out.print("Do you want to be on the mailing list (Yes or No): ");
        input = keyboard.nextLine();

        if (input.equalsIgnoreCase("yes")) {
            mail = true;
        }

        Customer cust = new Customer(name, address, telephone, customerNumber, mail);

        System.out.println("Hello " + cust.getName() + "!");

        System.out.println("You are customer " + cust.getCustomerNumber() + ".");


        if(mail = false){
            System.out.println("You are not on the mailing list. ");
        }

        else {
            System.out.println("You are on the mailing list. "); 
        }
    }
}
4

3 に答える 3

4

あなたは比較をしているのではなく、割り当てをしているのです...

これif(mail = false)は に等しいif (false)ため、は...falseに割り当てられます。mail

if(!mail)代わりにこれをif (!true)実行しif(mail == false)てください。

于 2013-05-01T01:51:19.903 に答える