输入客串,直到输入exit结束,哪里错了啊?

importjava.util.*;publicclassapp{publicstaticvoidmain(String[]args){finalintN=20;Scan... import java.util.*;

public class app

{

public static void main(String[] args)

{

final int N=20;

Scanner read=new Scanner(System.in);

String[] s=new String[N];

int i;

i=0;

do

{

s[i++]=read.next();

}while(s[i-1]!="exit");

s[--i]=null;

for(i=0;s[i]!=null;i++)

System.out.println(s[i]);

}

}
展开
 我来答
lionheart1988
2017-02-17 · TA获得超过6445个赞
知道大有可为答主
回答量:5772
采纳率:72%
帮助的人:2456万
展开全部
字符串是否是指定字符串的判断不能用== 和!=
要用equals()方法
while (s[i - 1].equals("exit"));这里要改成这么写
更多追问追答
追问
public class app
{
public static void main(String[] args)
{
String a="abc";
String b="abcd";
if(a!=b)
System.out.print("YES");
}
}

我这样都可以啊
追答
对象是引用类型,不能用== 和!= 来判断的

==和!= 是用来判断原生数据类型的
你给的代码之所以能看似正常的运行,是因为你使用的字面量声明字符串,如果你把代码该成
String a = new String("abc");这种写法,就无效了,这个涉及到更底层的字符串类型的设计,我就不解释了,解释起来要写个几万字呢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式