黑马程序员技术交流社区

标题: 检测数据转换 [打印本页]

作者: lilong9298    时间: 2013-6-18 16:08
标题: 检测数据转换
本帖最后由 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的范围大于所处的范围是该怎么吧
作者: 吴承烨    时间: 2013-6-18 17:30
首先,我不知道你求范围做什么?你求范围逻辑复杂,不知道想干什么,然后整体代码思路不清晰.
不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入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();
        }
    }
}


作者: 愛↘轉角    时间: 2013-6-18 20:15
那个,支持楼上的哈,用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);
                }
            }
        }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2