为了账号安全,请及时绑定邮箱和手机立即绑定

用户输入后 for循环不执行怎么解决 ,大神求助?

用户输入后 for循环不执行怎么解决 ,大神求助?

叶子 2016-11-20 19:48:37
package cn.bjsxt.others;import java.util.Scanner;public class Exercise {public static void main(String[]args){String [] mingZi =new String[]{"zhang","li","wang"};for(int i=0;i<mingZi.length;i++){System.out.println((i+1)+":"+mingZi[i]);}Scanner input =new Scanner(System.in);System.out.println("请输入用户名:");String s = input.next();for(int i=0;i<mingZi.length;i++){if(s==mingZi[i])System.out.println(s);}}}
查看完整描述

4 回答

已采纳
?
Plainforever

TA贡献6条经验 获得超11个赞

你好!

if(s==mingZi[i])这一行代码中应该修改为:

if (s.equals(mingZi[i])) {

比较合适。

==用来比较引用,equal用来比较值

查看完整回答
2 反对 回复 2016-11-20
?
qq_连环_04358155

TA贡献34条经验 获得超5个赞

s跟mingZi[i]都是字符串,两个字符串比较应该用equals

查看完整回答
1 反对 回复 2016-11-20
?
蕉啊3932370

TA贡献2条经验 获得超1个赞

s==mingZi[i]

这个试试换成s.equals(mingZi[i])

不打印出s是因为你输入“zhang”后面还跟着一个“/n”所以不相等

所以字符串的比较应该用equals

查看完整回答
1 反对 回复 2016-11-20
?
慕雪9760236

TA贡献3条经验 获得超0个赞


判断数值的相等用==,判断字符串的相等要用StringA.equals(StringB)

查看完整回答
反对 回复 2016-11-22
?
kid123

TA贡献7条经验 获得超1个赞

if(s==mingZi[i])

=>

if(s.equals(mingZi[i]))

查看完整回答
反对 回复 2016-11-20
  • 4 回答
  • 0 关注
  • 2370 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信