Помощь в программе Java - PullRequest
0 голосов
/ 31 марта 2011
import java.util.Scanner;
public class Mal {
    public static void main(String[] args) {
        System.out.println("Welcome");
        Scanner myinput = new Scanner(System. in );
        System.out.println("Make your choise. \n  1.Check a card number \n 2.Quit.");
        int choise = myinput.nextInt();
        switch (choise) {
        case 1:
            System.out.println("Enter your credit card number: ");
            break;
        case 2:
            System.out.println("Are you sure?");
            String answer = myinput.next();
            if (answer == "yes") {
                System.out.println("Byee ");
            } else {
                break;
            }
        default:
            System.out.println("Idiot!");
            break;
        }
    }

Как я могу получить строковый ответ для Clavier?

Ответы [ 4 ]

2 голосов
/ 31 марта 2011

Вы хотите использовать метод равно вместо оператора ==. Причина в том, что оператор == выполняет сравнение ссылок, а метод equals проверяет, совпадают ли два значения String.

Вот обновленный код, который вы должны попробовать:

if (answer.equals("yes")) {
   System.out.println("Byee ");
} else {
    break;
}
0 голосов
/ 21 апреля 2014

Я могу, вы хотите прочитать строковые значения из консоли.Для этого Вы можете использовать BufferedReader.Вот его синтаксис:

BufferedReader br = new BufferedReader( new InputStreamReader( System.in));
str = br.readLine(); // String str;

Вам необходимо импортировать BufferedReader и InputStreamReader, используя:

import java.io.*;

package!

0 голосов
/ 31 марта 2011

Сравнение строк должно производиться методом .equals (), а не оператором ==.

Оператор == сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же экземпляр. Метод equals( ) сравнивает символы внутри объекта String.
то есть

<object ref> == <object ref> - возвращает логическое значение, которое оценивает, если ссылки указывают на то же самое объект в памяти.

<object ref>.equals(<object ref>) - возвращает значение метода equals () этого объекта. Если equals() метод не существует, то метод равных «объекта» класс называется.

Ваш код должен быть,

if (answer.equals("yes")) {
                System.out.println("Byee ");
            } else {
                break;
            }
0 голосов
/ 31 марта 2011

Не знаю, что здесь означает «Clavier», но это неправильно:

answer == "yes"

Вы должны сравнить строки, используя метод equals:

answer.equals("yes")

или не будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...