【发布时间】:2014-09-16 01:43:32
【问题描述】:
我正在尝试创建一个控制台应用程序,它基本上是一些网站和银行等使用的安全措施的一个非常简单的版本。
用户将声明一个“秘密单词”(存储在 stringBuilder 中),之后,每次用户尝试访问程序/网站等时,他们都必须输入单词的字符 X(X 通过随机生成)。但是,随机永远不会选择单词的最后一个字符。
示例:当我使用 2 个字母的 Secret word 时,它只会选择第一个字母,当我尝试通过其他方法让它选择字母时,它认为有一个字母 0 会抛出整个应用程序。
为什么最后一个角色永远不会被选中?请帮助(C# 新手)
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace randomCharSelecter
{
class Program
{
static void Main(string[] args)
{
StringBuilder stringBuilder = new StringBuilder();
Console.WriteLine("Please Enter Your Secret Word");
stringBuilder.Append(Console.ReadLine());
EnterInput:
Random rndSelect = new Random();
int randomChar1 = rndSelect.Next(1, (stringBuilder.Length));
Console.WriteLine("Please enter character {0} of your secret word", randomChar1);
string userInput = Console.ReadLine();
if (userInput == (Convert.ToString(stringBuilder).Substring(randomChar1 - 1, 1)))
Console.WriteLine("Correct!");
else
{
Console.WriteLine("Incorrect! Please try again");
goto EnterInput;
}
Console.ReadLine();
}
}
}
【问题讨论】: