NoobisCoding Ответов: 5

Если.. Еще одна проблема, пожалуйста, помогите


static void Main(string[] args)
       { string continue1 = "yes";



           while (continue1 == "yes")

           {
               Console.WriteLine("your name?:");
               string jmeno = Console.ReadLine();
               Console.WriteLine(jmeno + " is the best!");

               Console.WriteLine("New name? (yes/no)");
               if (continue1 == "yes")

                   continue1 = Console.ReadLine();


               // the following doesn´t work

              else Console.WriteLine("What a shame :(");

           }
           Console.ReadKey();
       }


Что я уже пробовал:

Я думаю, что я не совсем понимаю, как работает "еще" .. иначе это сработало бы :D пожалуйста, помогите, я хочу узнать, как это работает :(
Я хочу, чтобы программа писала "какой позор", когда вы пишете" нет "(или что - то еще-вот как я чувствую, что" еще " работает), но успеха нет, программа просто останавливается.

pkfox

Что значит "не работает"?

NoobisCoding

Решение 1 = отладчик visual studio не знает, чего я хочу, поэтому он не будет работать..
Решение 2 = пробовал, все еще безуспешно .. я хочу, чтобы программа хорошо работала, когда я пишу "да", но я хочу, чтобы программа писала "какой позор", когда вы пишете " нет "(или что-то еще - вот как я чувствую, что" еще " работает)

NoobisCoding

Я хочу, чтобы программа писала "какой позор", когда вы пишете" нет "(или что - то еще-вот как я чувствую, что" еще " работает), но успеха нет, программа просто останавливается.

5 Ответов

Рейтинг:
41

Patrice T

Вы должны научиться использовать отладчик как можно скорее. Вместо того чтобы гадать, что делает ваш код, пришло время увидеть, как он выполняется, и убедиться, что он делает то, что вы ожидаете.

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
Когда код не делает того, что ожидается, вы близки к ошибке.

попробуйте прочитать ответ до то if.


NoobisCoding

Да, читай ответ раньше, если:) хорошая работа, приятель

Рейтинг:
4

NoobisCoding

Хорошо, вот как это работает.. но почему это работает даже тогда, когда я ушел если { } пусто?: o

static void Main(string[] args)


        {
            string continue1 = "yes";

            while (continue1 == "yes")

            {
                Console.WriteLine("your name?:");
                string jmeno = Console.ReadLine();
                Console.WriteLine(jmeno + " is the best!");

                Console.WriteLine("New name? (yes/no)");
                continue1 = Console.ReadLine();

                if (continue1 == "yes")
                {
                    

                }



                

                else

                    Console.WriteLine("What a shame :(");

            }
            Console.ReadKey();

        }


Рейтинг:
25

Taucher Christoph

проверьте комментарии, которые я сделал в коде

static void Main(string[] args)
       { string continue1 = "yes";
 

 
           while (continue1 == "yes")
 
           {
               Console.WriteLine("your name?:");
               string jmeno = Console.ReadLine();
               Console.WriteLine(jmeno + " is the best!");
 
               Console.WriteLine("New name? (yes/no)");
               continue1 = Console.ReadLine(); //read the user input before checking it with the if statment
               if (continue1 == "yes")
               {
                   //do something hwne the input is yes or in this case repeat the loop
               }
              else Console.WriteLine("What a shame :(");
 
           }
           Console.ReadKey();
       }


NoobisCoding

О, я думал, что continue1 = консоль.С readline (); - это думать, что повторяют .. так что .. может U дать мне советы что писать? ("//do something hwne the input is yes or in this case repeat the loop") как повторить цикл в этом случае, пожалуйста? :)

NoobisCoding

ЛОЛ, я оставил if { } пустым, и программа работает так, как должна :O как же так? :О

Рейтинг:
1

F-ES Sitecore

Вы должны отформатировать свой if\else следующим образом

if (continue1 == "yes")
{
    continue1 = Console.ReadLine();
}
else
{
    Console.WriteLine("What a shame :(");
}


Это позволяет избежать двусмысленности.


NoobisCoding

к сожалению безуспешно :(

F-ES Sitecore

Есть логическая проблема с вашим кодом, шаг за шагом проходите через него в отладчике, чтобы понять, почему он ведет себя так, как есть.

Afzaal Ahmad Zeeshan

5ед за хорошие чаевые.

Рейтинг:
0

Karthik_Mahalingam

попробовать это

Console.WriteLine("New name? (yes/no)");
           continue1 = Console.ReadLine();
           if (continue1 == "no")
               Console.WriteLine("What a shame :(");
           else
               continue1 = "yes";


NoobisCoding

это излишне... я должен был бы определить, что "нет" + " еще " не имеет петли внутри

Karthik_Mahalingam

ладно.