| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 797 人关注过本帖
标题:对于一个循环疑惑
取消只看楼主 加入收藏
一介草民
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-1-24
结帖率:100%
收藏
 问题点数:0 回复次数:0 
对于一个循环疑惑
控制台应用程序。
问题:编写一个应用程序,让用户输入两个数字,并显示他们,但拒绝接受两个数字都大于10的情况,并要求用户重新输入。
答案如下:
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication17
{
    class Program
    {
        static void Main(string[] args)
        {
            bool numberok = false;
            double var1, var2;
            while (!numberok)
            {
                Console.WriteLine("请输入一个数字");
                var1 = Convert.ToDo2uble(Console.ReadLine());
                Console.WriteLine("请再输入一个数字");
                var2 = Convert.ToDouble(Console.ReadLine());
                if ((var1 > 10) && (var2 > 10))
                {
                    Console.WriteLine("两个数字中只能出现一个大于10的数字,请重新输入。");
                }
                else
                {
                    numberok = true;

                }
            }
        }
    }
}
疑惑:红字部分。循环的条件是while(!numberok),因为将numberok定义为false,所以我认为!numberok就是ture,也就是说当语句true的时候,就进行循环,而为false的时候就停止循环。可是事实恰恰和我想的相反,从最后一段代码“numberok = true;”当语句true的时候就停止循环,在非true的情况下也就是“if ((var1 > 10) && (var2 > 10))”的情况下就正常进行循环了,百思不得其解,求高人~~~

[[it] 本帖最后由 一介草民 于 2008-10-18 16:51 编辑 [/it]]
搜索更多相关主题的帖子: 应用程序 double 控制台 false 用户 
2008-10-18 16:27
快速回复:对于一个循环疑惑
数据加载中...
 
   



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

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