小弟刚上手JAVA,请教一下。
我使用Scanner来输入字符串,
然后我想用if语句来判断我输入的字符串是不是“EXIT”
但结果我输入EXIT,就是不执行if语句。
请教一下大家。
public class Libsys
{
public static void main(String arg[])
{
Scanner scan=new Scanner(System.in);
String sInput="",command="",sCom="EXIT";
do
{
System.out.println("Please input you command:");
sInput=scan.next();
command=sInput;
command.trim();
}while(command=="EXIT");
}
}
怎么也出不去这个循环。
我使用Scanner来输入字符串,
然后我想用if语句来判断我输入的字符串是不是“EXIT”
但结果我输入EXIT,就是不执行if语句。
请教一下大家。
public class Libsys
{
public static void main(String arg[])
{
Scanner scan=new Scanner(System.in);
String sInput="",command="",sCom="EXIT";
do
{
System.out.println("Please input you command:");
sInput=scan.next();
command=sInput;
command.trim();
}while(command=="EXIT");
}
}
怎么也出不去这个循环。
解决方案 »
- java程序中出现的错误请求分析
- sin,con,tan 运行后的结果不太正确,望指点
- 关于千千静听歌词自动下载功能的实现
- The method readLine() from the type DataInputStream is deprecated
- 有关实现接口(初学者问题)
- 关于以服务的形式控制Socket的设计
- 知道IP怎么获得这个IP的MAC地址和这个IP的网关IP网关MAC地址和DNS IP地址以及DNS MAC地址
- 分别用do-while和for循环计算1+1/2!+1/3!+……的前20项和
- 一个极其简单的问题
- JAVA初学者,希望大家给点帮助
- 如何获取图片的长和宽
- 字符串的最大长度是多少?
不要用==
用if 不就完了
定义变量规范点
不要都在一行
String是非可变类.所以command.trim()产生了一个新对象.并没有修改了command.
==代表判断两个字符串的两个引用得值是否相等,而equals是判断两个对象的值是否相同.
另外,command.trim();是要返回一个String对象.
这个不能用==去比较的,这是永远不等的,用equals去比较,他只比较值,而不比较地址
----------------------------------------------------------在Java虚拟机中对String有了特殊处理,只要是内容相等的字符串,那么会引用同一个地址,所以用等号判断也是可行的,不信你自己可以写个小程序看看