using System;
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {            
            do
            {
                Console.WriteLine("请输入你想要的数字:");
                int value = int.Parse(Console.ReadLine());
                Console.WriteLine("你输入的数字为{0}", value);
            }
            while (value < 0);
           
            while (value!= 0)
                    {
                        value = (value % 10);
                        value = (value / 10);
                       
                       
                    }
                    Console.WriteLine(value);                    
        Console.ReadLine();
        }
    }
}请帮忙分析下 哪里出错了 讲清楚原因就好了  谢谢了 

解决方案 »

  1.   

    我怎么觉得...这块code没错啊...
      

  2.   

    do while 前面定义int value;
    int value = int.Parse(Console.ReadLine());去掉int
    定义范围错误!
      

  3.   

    int value =0;
    do
    {}
    while (value < 0);
        
      

  4.   

    你变量 value 是定义在do while里面的 所以不能在do while之外使用 因为超出了变量的作用域 
    所以  运行程序会提示 使用了未声明的变量  
    不过没看懂你要干什么
    我帮你改改代码你自己看看
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {            Console.WriteLine("请输入你想要的数字:");
                int value = int.Parse(Console.ReadLine());            while (value < 0)
                {
                    Console.WriteLine("你输入的数小于0请重新输入");
                    value = int.Parse(Console.ReadLine());
                   
                }
                            Console.WriteLine("你输入的数字为{0}", value);
                
                while (value != 0)
                {
                    value = (value % 10);
                    Console.WriteLine("value%10后的结果为{0}", value);
                    value = (value / 10);
                    Console.WriteLine("%10在除10的结果又为{0}",value);
                }
                
                Console.ReadLine();
            }    }
    }
      

  5.   

    楼主想实现什么功能
     首先
     你把 value定义在循环里面就是错的
     外面肯定访问不到报错
     
     输入正数,第一个循环就直接跳出了
     输入负数就继续输入
      只要输入正数就不循环
     在到下面
     它的值 value = (value % 10);
      value = (value / 10); 
     这个还while 一下 最后的值肯定就是0了
     最后显示的值肯定是0 真不明白lz想做什么?
     想完成什么功能!
      

  6.   


    using System;
    using System.Collections.Generic;
    using System.Text;namespace ConsoleApplication1
    {
      class Program
      {
      static void Main(string[] args)
      {  int value = 0;
      do
      {
      Console.WriteLine("请输入你想要的数字:");
      value = int.Parse(Console.ReadLine());
      Console.WriteLine("你输入的数字为{0}", value);
      }
      while (value < 0);
        
      while (value!= 0)
      {
      value = (value % 10);
      value = (value / 10);     }
      Console.WriteLine(value); 
      Console.ReadLine();
      }
      }
    }
      

  7.   

    会报错是因为你的int value定义的是局部变量;只要修改一个地方好了;
    using System;
    using System.Collections.Generic;
    using System.Text;namespace ConsoleApplication1
    {
      class Program
      {
      static void Main(string[] args)
      {   int value;
      do
      {
      Console.WriteLine("请输入你想要的数字:");
     value = int.Parse(Console.ReadLine());
      Console.WriteLine("你输入的数字为{0}", value);
      }
      while (value < 0);
       
      while (value!= 0)
      {
      value = (value % 10);
      value = (value / 10);
       
       
      }
      Console.WriteLine(value);   
      Console.ReadLine();
      }
      }
    }
      

  8.   

    大哥大姐们  不是要你们帮我改代码什么的  我是要你们帮我指出错在哪里  关于5楼跟2楼说的 我也试过 在do循环外定义个变量出来的结果就不一样了  
    要的是输入个数字 经过while后变成反向输出
    如:123  输出321
      

  9.   

    我在网上找的个题目自己做下  就是用do...while循环做出输入数字  然后用while反转输出