对于初学者练习,我试图创建一个简单的循环,它接受来自用户的单个字符,将该字符打印到控制台并继续这样做,直到用户输入“R”。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SimpleLoop
{
class Program
{
static void Main(string[] args)
{
char cplayerSelection = 'R';
while(cplayerSelection == 'R')
{
Console.WriteLine("Enter R, P, or S:");
cplayerSelection = (char)Console.Read();
Console.WriteLine(cplayerSelection);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
无论用户输入什么,它只会循环一次结束然后退出。我需要更改什么才能继续循环?
我相信应该是
while(cplayerSelection != 'R' || cplayerSelection != 'r')
Run Code Online (Sandbox Code Playgroud)
您必须检查大写和小写字母,因为它们没有相同的值。
编辑:还将 cplayerSelection 声明更改为其他一些字母,以便第一次实际执行循环。
也替换这一行
cplayerSelection = (char)Console.Read();
Run Code Online (Sandbox Code Playgroud)
和
cplayerSelection = Console.ReadKey().KeyChar;
Run Code Online (Sandbox Code Playgroud)
阅读 Habib 对此答案的评论以了解原因。
| 归档时间: |
|
| 查看次数: |
317 次 |
| 最近记录: |