在Java程序中帮助
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;
}
}
我怎样才能得到键盘的字符串答案?在Java程序中帮助
您想使用equals方法而不是==运算符。原因是==运算符没有引用比较,equals方法检查两个String值是否相同。
这里是更新的代码,你应该尝试:
if (answer.equals("yes")) {
System.out.println("Byee ");
} else {
break;
}
说不上是什么 “的Clavier” 的意思在这里,但这是错误的:
answer == "yes"
你要比较使用equals方法字符串:
answer.equals("yes")
,否则将无法正常工作。
thanx寻求帮助。我也有一个Q. 我想要一个程序,如果用户输入与“yes”不同的东西,则再次出现。 – 2011-03-31 02:15:19
您可以在“while(true)”块内放置整个事物(从“让您的选择”行切换到开关的末尾) ;那么当您退出交换机而不退出时,您将返回并再次提示用户输入。请投票/接受:) – 2011-03-31 02:17:25
字符串比较应该使用.equals()方法,而不是与==操作符进行。
==
运算符比较两个对象引用以查看它们是否引用同一个实例。方法equals()
比较String对象内的字符。
即
- 返回如果 引用指向内存中的同 对象,计算一个布尔值。
<object ref>.equals(<object ref>)
- 返回该对象的equals()方法的值。如果equals()
方法不存在,则调用 类的“对象” 类的equals方法。
你的代码应该是,
if (answer.equals("yes")) {
System.out.println("Byee ");
} else {
break;
}
我你想从控制台读取字符串值。为此你可以使用BufferedReader。下面是它的语法:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
str = br.readLine(); // String str;
您需要使用进口的BufferedReader的InputStreamReader和:
import java.io.*;
包!
什么是键盘?这个计划的目的是什么? – 2011-03-31 02:02:30
我猜[[Clavier]](http://en.wikipedia.org/wiki/Clavier)的意思是“键盘”。 – 2011-03-31 02:07:24
你的意思是它不是鱼蛋? – 2011-03-31 02:11:47