| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 732 人关注过本帖
标题:为什么这里跳不出循环?(无关代码已省略)
只看楼主 加入收藏
kevin_c
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2015-10-15
结帖率:91.67%
收藏
已结贴  问题点数:10 回复次数:5 
为什么这里跳不出循环?(无关代码已省略)
程序代码:
class ArrayOption{
    private String[] str = new String[100];
    public ArrayOption(){
    //int jdg;
    Scanner sc = new Scanner(System.in);
    System.out.println("input something into the array:");
    for(int i = 0;i<str.length;i++){
        str[i] = sc.next();
        if(str[i] == "break"){break;}
        }
搜索更多相关主题的帖子: something 
2015-10-27 21:56
kevin_c
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2015-10-15
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

输入break,但还是跳不出循环,为什么呢?
2015-10-27 22:06
calix
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:249
专家分:1442
注 册:2015-5-4
收藏
得分:5 
if(str[i] == "break")
改成
if("break".equals(str[i]))
试试
2015-10-27 23:11
kevin_c
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2015-10-15
收藏
得分:0 
回复 3楼 calix
为什么str[i]=="break"会不起作用呢?
2015-10-28 08:50
calix
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:249
专家分:1442
注 册:2015-5-4
收藏
得分:5 
==和equals有区别,前者判断是否是同一对象,后者比较的是内容是否相同
这块不能用==是因为每次扫描获取到的结果都会重新开辟空间存储,跟之前的不是同一个对象
一般除了基本数据类型,在使用==的时候都要注意
2015-10-28 09:29
kevin_c
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2015-10-15
收藏
得分:0 
回复 5楼 calix
哦~懂了,谢谢
2015-10-28 09:46
快速回复:为什么这里跳不出循环?(无关代码已省略)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012734 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved