| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 810 人关注过本帖
标题:朋友们能帮我看看这循环吗
只看楼主 加入收藏
heqinwu8
Rank: 2
来 自:黄土高坡
等 级:论坛游民
帖 子:65
专家分:58
注 册:2009-7-11
结帖率:100%
收藏
 问题点数:0 回复次数:12 
朋友们能帮我看看这循环吗
                            {
                                foreach (Student s in stu)
                                {
                                    if (s.number == num)
                                    {
                                        Console.WriteLine("请输入修改后的名字:");
                                        s.name = Console.ReadLine();
                                        break;
                                    }
                                }
                                foreach (Student s in stu)
                                {
                                    if (s.number!= num)
                                    {
                                        Console.WriteLine("该数字不存在!");
                                        break;
                                    }
                                }
                            }
stu里有数据两组数据(1,yes),(2,no),格式是(数字,名字)

当输入2时,会显示"请输入修改后的名字",然后输入ni,输入完后,又提示"该数字不存在",不知道哪里出错了,不过

当出入别的数字时,一切又正常了,会显示"该数字不存在"。应该怎么修改,才能在输入2的时候不出现"该数字不存

在"啊?

[ 本帖最后由 heqinwu8 于 2009-9-11 02:10 编辑 ]
搜索更多相关主题的帖子: 朋友 
2009-09-11 02:01
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
收藏
得分:0 
stu是什么?对像数组吗?

QQ:81704464
2009-09-11 08:01
jiaguofu2005
Rank: 2
等 级:论坛游民
帖 子:47
专家分:59
注 册:2009-9-2
收藏
得分:0 
Student s为什么重定义啊,你要是这样就把两个foreach合并成一个foreach
2009-09-11 08:48
heqinwu8
Rank: 2
来 自:黄土高坡
等 级:论坛游民
帖 子:65
专家分:58
注 册:2009-7-11
收藏
得分:0 
以下是引用athenalux在2009-9-11 08:01的发言:

stu是什么?对像数组吗?
stu是public static List<Student> stu = new List<Student>();是集合吧

戒烟真难啊,去楼顶抽个,没人发现
2009-09-11 13:13
heqinwu8
Rank: 2
来 自:黄土高坡
等 级:论坛游民
帖 子:65
专家分:58
注 册:2009-7-11
收藏
得分:0 
以下是引用jiaguofu2005在2009-9-11 08:48的发言:

Student s为什么重定义啊,你要是这样就把两个foreach合并成一个foreach
合成一个foreach也不行
现在这个foreach()的问题是
当输入的数字和集合里的数字不等时,输出不存在
但是比如说输入2,当foreach到几何里的数据1时,就会显示不存在了
而这个2是集合里已有的数据,不应该会这样显示的啊

戒烟真难啊,去楼顶抽个,没人发现
2009-09-11 13:19
jiaguofu2005
Rank: 2
等 级:论坛游民
帖 子:47
专家分:59
注 册:2009-9-2
收藏
得分:0 
你想实现什么
2009-09-11 14:15
jiaguofu2005
Rank: 2
等 级:论坛游民
帖 子:47
专家分:59
注 册:2009-9-2
收藏
得分:0 
                               bool state=false;
                               foreach (Student s in stu)
                                {
                                    if (s.number == num)
                                    {
                                        Console.WriteLine("请输入修改后的名字:");
                                        s.name = Console.ReadLine();
                                        state=true;
                                        break;
                                    }
                                }
                              if(!state)
                                   Console.WriteLine("该数字不存在!");
我估计这是你想要的效果吧
2009-09-11 14:20
heqinwu8
Rank: 2
来 自:黄土高坡
等 级:论坛游民
帖 子:65
专家分:58
注 册:2009-7-11
收藏
得分:0 
以下是引用jiaguofu2005在2009-9-11 14:20的发言:

                               bool state=false;
                               foreach (Student s in stu)
                                {
                                    if (s.number == num)  ...
太感谢了
就是想实现这个功能
万分感谢啊
不过我还是搞不懂这if(!state)是怎么工作的
可以再给我详细的说说它的原理吗?

戒烟真难啊,去楼顶抽个,没人发现
2009-09-11 15:13
jiaguofu2005
Rank: 2
等 级:论坛游民
帖 子:47
专家分:59
注 册:2009-9-2
收藏
得分:0 
state是一个标识你是否找到等于num的student,如果找到就为真,否则为假。
2009-09-11 15:50
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
收藏
得分:0 
这种问题断点调试一下就能搞清楚了

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2009-09-11 16:21
快速回复:朋友们能帮我看看这循环吗
数据加载中...
 
   



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

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