帮助Java程序

时间:2011-03-31 02:00:00

标签: java string

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;
        }
    }

如何获得Clav​​ier的String答案?

4 个答案:

答案 0 :(得分:2)

您希望使用equals方法而不是==运算符。原因是==运算符确实引用了比较,而equals方法检查两个String值是否相同。

以下是您应该尝试的更新代码:

if (answer.equals("yes")) {
   System.out.println("Byee ");
} else {
    break;
}

答案 1 :(得分:0)

Dunno“Clavier”在这里意味着什么,但这是错误的:

answer == "yes"

您必须使用equals方法比较字符串:

answer.equals("yes")

或它不起作用。

答案 2 :(得分:0)

应使用.equals()方法进行字符串比较,而不是使用==运算符。

==运算符比较两个对象引用以查看它们是否引用同一个实例。 equals( )方法比较String对象中的字符 即

  

<object ref> == <object ref> -   返回一个评估if的布尔值   引用指向相同的   记忆中的物体。

     

<object ref>.equals(<object ref>)    - 返回该对象的equals()方法的值。如果   那么equals()方法就不存在了   “对象”的等于方法   类被称为。

你的代码应该是,

if (answer.equals("yes")) {
                System.out.println("Byee ");
            } else {
                break;
            }

答案 3 :(得分:0)

我想要从控制台读取字符串值。为此您可以使用BufferedReader。以下是它的语法:

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

您需要使用以下命令导入BufferedReader和InputStreamReader:

import java.io.*;

包!