Ich habe Probleme mit der Schleife meines Programms, so dass es aus der Schleife ausbricht, wenn der Benutzer "quit" oder "exit" eingibt.Ausbrechen einer Schleife, wenn Benutzereingaben beendet oder beendet werden C#
Wenn ich eine beliebige Zeichenfolge eingibt, stürzt mein Programm ab, wenn es versucht, die Zeichenfolge-Eingabe zu einem Int zu analysieren. Irgendein Rat?
namespace DiceRolling
{
/* We’re going to write a program that makes life easier for the player of a game like this. Start the
program off by asking the player to type in a number of dice to roll.Create a new Random
object and roll that number of dice.Add the total up and print the result to the user. (You should
only need one Random object for this.) For bonus points, put the whole program in a loop and allow them to keep typing in numbers
until they type “quit” or “exit”. */
class DiceRolling
{
static void RollDice(int numTries)
{
Random random = new Random();
//Console.Write("Please enter the number of dice you want to roll: ");
//int numTries = Convert.ToInt32(Console.ReadLine());
int sum = 0;
int dieRoll;
for (int i = 1; i <= numTries; i++)
{
dieRoll = random.Next(6) + 1;
Console.WriteLine(dieRoll);
sum += dieRoll;
}
Console.WriteLine("The sum of your rolls equals: " + sum);
}
static void Main(string[] args)
{
while (true)
{
Console.Write("Please enter the number of dice you want to roll: ");
string input = Console.ReadLine();
int numTries = Convert.ToInt32(input);
//bool isValid = int.TryParse(input, out numTries);
RollDice(numTries);
Console.ReadKey();
if (input == "quit" || input == "exit")
break;
}
}
}
}
Beim Parsen von '" quit "' zu int was tun Du erwartest zu passieren? Vielleicht möchten Sie eine Art Menü, in dem der Benutzer stattdessen eine Nummer eingibt, die "Beenden" anzeigt? Z.B. '0' oder sogar' -1'? – HimBromBeere
Verschieben Sie Ihre Prüfung einfach auf Beenden oder Beenden unmittelbar nach der Readline der Variableneingabe. – Steve
Es ist auch eine winzige Sache, aber der korrekte englische Ausdruck wäre "Würfel" nicht "Würfel". –