using System;class JudgeGrade
{
    public int score;
    public int judge;
}class TestJudge
{
    public static void Main(String[] args)
    {
        JudgeGrade aa = new JudgeGrade();        aa.score = Console.Read();        if (aa.score >= 90)
            aa.judge = 1;
        else if (aa.score >= 75 && aa.score <= 89)
            aa.judge = 2;
        else if (aa.score >= 60 && aa.score <= 74)
            aa.judge = 3;
        else if (aa.score < 60)
            aa.judge = 4;        switch (aa.judge)
        {
            case '1': Console.WriteLine("优"); break;
            case '2': Console.WriteLine("良"); break;
            case '3': Console.WriteLine("中"); break;
            case '4': Console.WriteLine("差"); break;
        }
        Console.ReadKey();    }
}

解决方案 »

  1.   

    case 的单引号去掉,你的judge变量是int型
      

  2.   

    你是要获得界面输入的数字是吧,你打断点看看Console.Read()返回的和你输入的一样么。
    应该用ReadLine()函数,用字符串去接收打断点自己一步步看变量都是什么值你就明白了 JudgeGrade aa = new JudgeGrade();            aa.score = Convert.ToInt32(Console.ReadLine());            if (aa.score >= 90)
                    aa.judge = 1;
                else if (aa.score >= 75 && aa.score <= 89)
                    aa.judge = 2;
                else if (aa.score >= 60 && aa.score <= 74)
                    aa.judge = 3;
                else if (aa.score < 60)
                    aa.judge = 4;            switch (aa.judge)
                {
                    case 1: Console.WriteLine("优"); break;
                    case 2: Console.WriteLine("良"); break;
                    case 3: Console.WriteLine("中"); break;
                    case 4: Console.WriteLine("差"); break;
                }
                Console.ReadKey();
      

  3.   

    老大,类型不统一啊。程序根本就没有进入switch块        switch (aa.judge)
            {
                case 1: Console.WriteLine("优"); break;
                case 2: Console.WriteLine("良"); break;
                case 3: Console.WriteLine("中"); break;
                case 4: Console.WriteLine("差"); break;
            }
      

  4.   


    JudgeGrade aa = new JudgeGrade();            aa.score = Convert.ToInt32( Console.ReadLine());            if (aa.score >= 90)
                    aa.judge = 1;
                else if (aa.score >= 75 && aa.score <= 89)
                    aa.judge = 2;
                else if (aa.score >= 60 && aa.score <= 74)
                    aa.judge = 3;
                else if (aa.score < 60)
                    aa.judge = 4;            switch (aa.judge)
                {
                    case 1: Console.WriteLine("优"); break;
                    case 2: Console.WriteLine("良"); break;
                    case 3: Console.WriteLine("中"); break;
                    case 4: Console.WriteLine("差"); break;
                }
                Console.ReadKey();
    两个问题 1 aa.score = Convert.ToInt32( Console.ReadLine());  强制转换为int
             2  case 去掉单引号
      

  5.   

    不知道谁方便调试一下,C#还没入门,见谅!程序也许健壮性不是很好,但只需得到最基本的结果,即输入一个分数输出对应的等级,如:输入98, 输出 优。这是完整代码:
    using System;class JudgeGrade
    {
        public int score;
        public int judge;
    }class TestJudge
    {
        public static void Main(String[] args)
        {
            JudgeGrade aa = new JudgeGrade();        aa.score = Convert.ToInt32(Console.ReadLine());         if (aa.score >= 90)
                aa.judge = 1;
            else if (aa.score >= 75 && aa.score <= 89)
                aa.judge = 2;
            else if (aa.score >= 60 && aa.score <= 74)
                aa.judge = 3;
            else if (aa.score < 60)
                aa.judge = 4;        switch (aa.judge)
            {
                case 1: Console.WriteLine("优"); break;
                case 2: Console.WriteLine("良"); break;
                case 3: Console.WriteLine("中"); break;
                case 4: Console.WriteLine("差"); break;
            }
            Console.Read();    }
    }
      

  6.   

    你看看这样是不是你想要的结果:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;namespace TestJudge
    {
        class Program
        {
            static void Main(string[] args)
            {
                bool isExit = true; //是否可以退出            JudgeGrade aa = new JudgeGrade();            while (isExit)
                {
                    Console.WriteLine("请输入分数(整形数字):  按字母 Q 退出。");                string input = Console.ReadLine();                if (input.ToUpper() == "Q")
                    {
                        isExit = false;
                        break;
                    }                aa.score = Convert.ToInt32(input);                if (aa.score >= 90)
                        aa.judge = 1;
                    else if (aa.score >= 75 && aa.score <= 89)
                        aa.judge = 2;
                    else if (aa.score >= 60 && aa.score <= 74)
                        aa.judge = 3;
                    else if (aa.score < 60)
                        aa.judge = 4;                switch (aa.judge)
                    {
                        case 1: Console.WriteLine("优"); break;
                        case 2: Console.WriteLine("良"); break;
                        case 3: Console.WriteLine("中"); break;
                        case 4: Console.WriteLine("差"); break;
                    }
                }
            }        class JudgeGrade
            {
                public int score;
                public int judge;
            }    }
    }