Я пытаюсь получить некоторую практику на C#, готовую к тестированию с ограничением времени через 2 недели, и пытаюсь выполнить упражнения, которые я нашел в книгах & в Интернете.Как бы исправить этот цикл?
Упражнение попросило использовать цикл while, чтобы попросить пользователя ввести свое имя, а если оно не было «XXX», оно может продолжать цикл. Но проблема в том, что после написания цикла она просто продолжается, поэтому пользователь не может ввести «XXX», чтобы остановить программу, поэтому мне было интересно, знает ли кто-нибудь об этом решении?
Вот код, который я написал до сих пор ..
String sName;
//Declaring the variable
Console.Write("Enter a name (or XXX to end): ");
sName = Console.ReadLine();
//Prompting user to enter the name or to end the program by telling them to type XXX
while (sName != "XXX")
{
Console.Write("The Name is: " + sName);
Console.WriteLine();
}
//Start loop
Console.WriteLine("You are now past the while loop");
//If XXX is typed, message is displayed
Console.WriteLine("Press any key to close");
Console.ReadKey();
//Prevent program from closing
Вы никогда не запрашивает у пользователя ввод в вашем время цикла, так что 'sName' никогда не будет равна«XXX». Как вы ожидаете завершения цикла, если условие никогда не выполняется? :) – Tim
Переместить 'sName = Console.ReadLine();' внутри цикла. – Candide
Вы никогда не получите новый вход, поэтому sName всегда будет тем, что было введено в первый раз. Попробуйте ввести «XXX» в первом приглашении. \ – MikeTheLiar