A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lilong9298 中级黑马   /  2013-6-18 16:08  /  1055 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 lilong9298 于 2013-6-18 16:10 编辑

不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出。
static void Main(string[] args)
        {
            string s;
            
            while (true)
            {
                s=Console.ReadLine();
                int i = Convert.ToInt16(Convert.ToChar(s));
                if (s=="q")
                {
                    Console.WriteLine("按任意键结束");
                    break;
                }
                if (i == 48 || i > 48 && i < 57 || i == 57)
                {
                    Console.WriteLine("{0}", int.Parse(s) * 2);
                    continue;
                }
                else
                {
                    Console.WriteLine("您的输入有误,请重新输入");
                    Console.WriteLine("若要退出请按q键");
                }

            }
        }
当i的范围大于所处的范围是该怎么吧

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

2 个回复

倒序浏览
首先,我不知道你求范围做什么?你求范围逻辑复杂,不知道想干什么,然后整体代码思路不清晰.
不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出。
下面是代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 测试
{
    class Program
    {
        static void Main(string[] args)
        {
            //不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出。
            string input; //输入的数字
            do
            {
                Console.WriteLine("请您输入数字");
                input = Console.ReadLine();
                int numBer; //是数字的话,返回numBer
                if (Int32.TryParse(input, out numBer)) //TryParse函数
                {
                    Console.WriteLine("{0}的两倍数是{1}", input, numBer *2);
                }
                else
                {
                    Console.WriteLine("程序结束");
                }
            } while (input!="q"); //用户输入q的话结束
            Console.ReadKey();
        }
    }
}

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
那个,支持楼上的哈,用TryParse就能试着返回int类型的值,就不需要lz用编码来判断是不是数字了
还是我写了个用read方法的,这方法能直接返回输入值的编码,就不需要转换了
//不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出。
        static void Main(string[] args)
        {
            Console.WriteLine("请输入数字(输入q结束):");
            int i = 0;//定义个一个变量i存储用户输入的值
            while (i != 'q')
            {
                 i = Console.Read();//read方法返回用户输入的值的编码
                if (i > '0' & i < '9')
                {
                    int j = 2 * (i - 48);//若输入的值是数字,则减48来提取数字编码所对应的数字值并乘2
                    Console.WriteLine(j);
                }
            }
        }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马