0

C# 新手,但我喜欢它!我曾经使用 java,有时仍然使用,但是 Visual Studio 中的 C# 非常棒。

现在生意...

我想创建一个控制台应用程序,每当用户输入一个包含 T、at(小写)或问号(?)的句子时,它就会向控制台打印消息

我已经尝试了以下方法,但我没有成功。对你们中的一些人来说,它一定看起来像幼儿园的潦草。

有人请帮助我。我提前谢谢你!

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Type a sentence without using the letter T or a question mark.");
        Console.ReadLine();
        string userValue;
        userValue = Console.ReadLine();


        if(userValue.Contains("T"))
        {
            Console.WriteLine("Invalid");
        }
        else if(userValue.Contains("t"))
        {
            Console.WriteLine("Invalid");
            Console.ReadLine();
        }
            else if (userValue.Contains("?"));
        {
        Console.WriteLine("Invalid");
        Console.ReadLine();
4

4 回答 4

0

如果问号必须在最后,请尝试使用 userValue.endWith("?") 或者如果您想检查输入是否只是问号,请尝试 userValue == "?"

于 2013-08-27T04:47:38.533 回答
0

你可以这样做

if(userValue.Contains("T") ||userValue.Contains("t") ||userValue.Contains("?"))
    {
        Console.WriteLine("Invalid");
        Console.ReadLine();
    }
于 2013-08-27T04:48:09.813 回答
0

你想检查 T、t 或 ?,试试这个。

if((userValue.Contains("T") || if(userValue.Contains("t") || (userValue.Contains("?"))
{
    Console.WriteLine(userValue);
}
else
{
    Console.WriteLine("Invalid");
}
于 2013-08-27T04:52:46.160 回答
0

看来,您的代码中不需要那么多Console.ReadLine()。如果您想询问用户一次,解决方案可能类似于:

...
static void Main(string[] args) {
  Console.WriteLine("Type a sentence without using the letter T or a question mark.");
  String userValue = Console.ReadLine();

  if (userValue.Contains('T')) 
    Console.WriteLine("Invalid, contains 'T'");
  else if (userValue.Contains('t')) 
    Console.WriteLine("Invalid, contains 't'");
  else if (userValue.Contains('?')) 
    Console.WriteLine("Invalid, contains '?'");
  else
    Console.WriteLine("Valid, doesn't contain 'T', 't', '?'");
}
...

如果您想要求用户输入一个值,直到他输入一个有效值:

...
static void Main(string[] args) {
  String userValue;

  // If you want to ask user once only, uncomment this line, otherwise comment it out  

  // Console.WriteLine("Type a sentence without using the letter T or a question 

  while (true) {
    // If you want to ask user any time he/she puts wrong sentence, uncomment this line, otherwise comment it out  
    Console.WriteLine("Type a sentence without using the letter T or a question mark.");
    userValue = Console.ReadLine();

    if (userValue.Contains('T')) 
      Console.WriteLine("Invalid, contains 'T'");
    else if (userValue.Contains('t')) 
      Console.WriteLine("Invalid, contains 't'");
    else if (userValue.Contains('?')) 
      Console.WriteLine("Invalid, contains '?'");
    else
      break;       
  }

  Console.WriteLine("Valid, doesn't contain 'T', 't', '?'");
}
...
于 2013-08-27T05:44:14.377 回答