无论用户输入如何,switch 语句都恢复为默认值?
switch statement reverting to default regardless of user input?
我想让程序做的是要求用户输入,输入数字 1-7,然后吐出正确的 WriteLine 语句。一切都编译得很好,但无论我输入什么数字,我都会得到默认的 WriteLine 选项。我哪里错了?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace week4discussion
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter a number: ");
int userInput = Console.Read();
switch (userInput) {
case 1:
Console.WriteLine("Your selected course is IT 145");
break;
case 2:
Console.WriteLine("Your selected course is IT 200");
break;
case 3:
Console.WriteLine("Your selected course is IT 201");
break;
case 4:
Console.WriteLine("Your selected course is IT 270");
break;
case 5:
Console.WriteLine("Your selected course is IT 315");
break;
case 6:
Console.WriteLine("Your selected course is IT 328");
break;
case 7:
Console.WriteLine("Your selected course is IT 330");
break;
default:
Console.WriteLine("Please enter a number 1-7");
break;
}
}
}
}
你需要这个:
int userInput = Convert.ToInt32(Console.ReadLine());
我想让程序做的是要求用户输入,输入数字 1-7,然后吐出正确的 WriteLine 语句。一切都编译得很好,但无论我输入什么数字,我都会得到默认的 WriteLine 选项。我哪里错了?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace week4discussion
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter a number: ");
int userInput = Console.Read();
switch (userInput) {
case 1:
Console.WriteLine("Your selected course is IT 145");
break;
case 2:
Console.WriteLine("Your selected course is IT 200");
break;
case 3:
Console.WriteLine("Your selected course is IT 201");
break;
case 4:
Console.WriteLine("Your selected course is IT 270");
break;
case 5:
Console.WriteLine("Your selected course is IT 315");
break;
case 6:
Console.WriteLine("Your selected course is IT 328");
break;
case 7:
Console.WriteLine("Your selected course is IT 330");
break;
default:
Console.WriteLine("Please enter a number 1-7");
break;
}
}
}
}
你需要这个:
int userInput = Convert.ToInt32(Console.ReadLine());