做while循环 [英] do while loop

查看:63
本文介绍了做while循环的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图弄清楚如何在我的C#类中为我的项目执行do while循环.我们尚未涵盖任何循环,但他要求我们尝试.我不知道我在做什么错.我要它询问用户是否要继续,如果他们回答否",则程序应终止.

I am trying to figure out how to do a do while loop for my project in my c# class. We have not covered any of the loops yet, but he asked us to try. I have no idea what I am doing wrong. I am wanting it to ask the user if they would like to continue if they answer no then the program should terminate.

string stateAbbrev;

            Console.WriteLine("Enter the state abbreviation. ");
            Console.WriteLine("Its full name will" + " be displayed");
            Console.WriteLine();
            stateAbbrev = Console.ReadLine();
            stateAbbrev = stateAbbrev.ToUpper();    //Converts the characters to uppercase

            switch (stateAbbrev)
            {

                case "AL": Console.WriteLine("Alabama");
                    break;

                case "AK": Console.WriteLine("Alaska");
                    break;

                case "AZ": Console.WriteLine("Arizona");
                    break;

                case "AR": Console.WriteLine("Arkansas");
                    break;

                case "CA": Console.WriteLine("California");
                    break;

                case "CO": Console.WriteLine("Colorado");
                    break;

                case "CT": Console.WriteLine("Connecticut");
                    break;

                case "DE": Console.WriteLine("Delaware");
                    break;

                case "FL": Console.WriteLine("Florida");
                    break;

                case "GA": Console.WriteLine("Georgia");
                    break;

                case "HI": Console.WriteLine("Hawaii");
                    break;

                case "ID": Console.WriteLine("Idaho");
                    break;

                case "IL": Console.WriteLine("Illinois");
                    break;

                case "IN": Console.WriteLine("Indiana");
                    break;

                case "IA": Console.WriteLine("Iowa");
                    break;

                case "KS": Console.WriteLine("Kansas");
                    break;

                case "KY": Console.WriteLine("Kentucky");
                    break;

                case "LA": Console.WriteLine("Louisiana");
                    break;

                case "ME": Console.WriteLine("Maine");
                    break;

                case "MD": Console.WriteLine("Maryland");
                    break;

                case "MA": Console.WriteLine("Massachusetts");
                    break;

                case "MI": Console.WriteLine("Michigan");
                    break;

                case "MN": Console.WriteLine("Minnesota");
                    break;

                case "MS": Console.WriteLine("Mississippi");
                    break;

                case "MO": Console.WriteLine("Missouri");
                    break;

                case "MT": Console.WriteLine("Montana");
                    break;

                case "NE": Console.WriteLine("Nebraska");
                    break;

                case "NV": Console.WriteLine("Nevada");
                    break;

                case "NH": Console.WriteLine("New Hampshire");
                    break;

                case "NJ": Console.WriteLine("New Jersey");
                    break;

                case "NM": Console.WriteLine("New Mexico");
                    break;

                case "NY": Console.WriteLine("New York");
                    break;

                case "NC": Console.WriteLine("North Carolina");
                    break;

                case "ND": Console.WriteLine("North Dakota");
                    break;

                case "OH": Console.WriteLine("Ohio");
                    break;

                case "OK": Console.WriteLine("Oklahoma");
                    break;

                case "OR": Console.WriteLine("Oregon");
                    break;

                case "PA": Console.WriteLine("Pennsylvania");
                    break;

                case "RI": Console.WriteLine("Rhode Island");
                    break;

                case "TN": Console.WriteLine("Tennessee");
                    break;

                case "TX": Console.WriteLine("Texas");
                    break;

                case "UT": Console.WriteLine("Utah");
                    break;

                case "VT": Console.WriteLine("Vermont");
                    break;

                case "VA": Console.WriteLine("Virginia");
                    break;

                case "WA": Console.WriteLine("Washington");
                    break;

                case "WV": Console.WriteLine("West Virginia");
                    break;

                case "WI": Console.WriteLine("Wisconsin");
                    break;

                case "WY": Console.WriteLine("Wyoming");
                    break;

                default: Console.WriteLine("No match");
                    break;


                    do
                    {
                        Console.WriteLine("Would you like to try again? ", answer);
                        counter = Convert.ToString(Console.ReadLine);
                    }
                    while (anwer > yes);


            }
            Console.WriteLine("\n");
            Console.WriteLine("\n");
            Console.Write("press -1 to Exit:");
            Int32.Parse(Console.ReadLine());
        }
    }
}

推荐答案

sloshedmr_bones写道:
sloshedmr_bones wrote:

do
{
Console.WriteLine(您是否想再试一次?",回答);
计数器= Convert.ToString(Console.ReadLine);
}
while(anwer> yes);

do
{
Console.WriteLine("Would you like to try again? ", answer);
counter = Convert.ToString(Console.ReadLine);
}
while (anwer > yes);



大括号定义您的循环.一会儿回到它说的地方.请注意,您的其余代码(要运行以重试"的内容)在do/while循环之外,因此将不会运行.另外请注意>这不是对字符串的可接受测试. !=是对答案是否等于是的检验.如果yes是一个常量,而不是一个变量,则需要用引号引起来.如果您希望do while循环永远终止,则需要检查在循环内更改的变量(在这种情况下为counter而不是answer). Console.ReadLine是一个方法,它之后需要().它返回一个字符串.不需要Convert.ToString.

如果您希望我们为您修复这些错误,则甚至不应该编译该代码,您应该学习阅读错误消息并进行诊断,然后将其与生成错误的行一起发布到此处.



The braces define your loop. The while goes back to where it says do. Notice that the rest of your code, the stuff you want to run to ''try again'' is outside the do/while loop and so will not be run. Also note that > is not an acceptable test for strings. != is the test for if answer does not equal yes. If yes is a constant, not a variable, it needs to be in quotes. If you want a do while loop to ever terminate, it needs to be checking a variable that is changed within the loop ( in this case, counter, not answer ). Console.ReadLine is a method, it needs () after it. It returns a string. Convert.ToString is not needed.

This code should not even compile, you should learn to read error messages and diagnose them, and post them here along with the line that generates them, if you want us to fix them for you.


您基本上需要将所有代码都放入循环中.像这样的东西:

You need to have basically all your code inside the loop. Something like this:

string stateAbbrev;
            string answer;

            do
            {
                Console.WriteLine("Enter the state abbreviation. ");
                Console.WriteLine("Its full name will" + " be displayed");
                Console.WriteLine();

                stateAbbrev = Console.ReadLine();

                stateAbbrev = stateAbbrev.ToUpper();    //Converts the characters to uppercase

                switch (stateAbbrev)
                {
                    case "AL": Console.WriteLine("Alabama");
                        break;
                    case "AK": Console.WriteLine("Alaska");
                        break;
                    case "AZ": Console.WriteLine("Arizona");
                        break;
                    case "AR": Console.WriteLine("Arkansas");
                        break;
                    case "CA": Console.WriteLine("California");
                        break;
                    case "CO": Console.WriteLine("Colorado");
                        break;
                    case "CT": Console.WriteLine("Connecticut");
                        break;
                    case "DE": Console.WriteLine("Delaware");
                        break;
                    case "FL": Console.WriteLine("Florida");
                        break;
                    case "GA": Console.WriteLine("Georgia");
                        break;
                    case "HI": Console.WriteLine("Hawaii");
                        break;
                    case "ID": Console.WriteLine("Idaho");
                        break;
                    case "IL": Console.WriteLine("Illinois");
                        break;
                    case "IN": Console.WriteLine("Indiana");
                        break;
                    case "IA": Console.WriteLine("Iowa");
                        break;
                    case "KS": Console.WriteLine("Kansas");
                        break;
                    case "KY": Console.WriteLine("Kentucky");
                        break;
                    case "LA": Console.WriteLine("Louisiana");
                        break;
                    case "ME": Console.WriteLine("Maine");
                        break;
                    case "MD": Console.WriteLine("Maryland");
                        break;
                    case "MA": Console.WriteLine("Massachusetts");
                        break;
                    case "MI": Console.WriteLine("Michigan");
                        break;
                    case "MN": Console.WriteLine("Minnesota");
                        break;
                    case "MS": Console.WriteLine("Mississippi");
                        break;
                    case "MO": Console.WriteLine("Missouri");
                        break;
                    case "MT": Console.WriteLine("Montana");
                        break;
                    case "NE": Console.WriteLine("Nebraska");
                        break;
                    case "NV": Console.WriteLine("Nevada");
                        break;
                    case "NH": Console.WriteLine("New Hampshire");
                        break;
                    case "NJ": Console.WriteLine("New Jersey");
                        break;
                    case "NM": Console.WriteLine("New Mexico");
                        break;
                    case "NY": Console.WriteLine("New York");
                        break;
                    case "NC": Console.WriteLine("North Carolina");
                        break;
                    case "ND": Console.WriteLine("North Dakota");
                        break;
                    case "OH": Console.WriteLine("Ohio");
                        break;
                    case "OK": Console.WriteLine("Oklahoma");
                        break;
                    case "OR": Console.WriteLine("Oregon");
                        break;
                    case "PA": Console.WriteLine("Pennsylvania");
                        break;
                    case "RI": Console.WriteLine("Rhode Island");
                        break;
                    case "TN": Console.WriteLine("Tennessee");
                        break;
                    case "TX": Console.WriteLine("Texas");
                        break;
                    case "UT": Console.WriteLine("Utah");
                        break;
                    case "VT": Console.WriteLine("Vermont");
                        break;
                    case "VA": Console.WriteLine("Virginia");
                        break;
                    case "WA": Console.WriteLine("Washington");
                        break;
                    case "WV": Console.WriteLine("West Virginia");
                        break;
                    case "WI": Console.WriteLine("Wisconsin");
                        break;
                    case "WY": Console.WriteLine("Wyoming");
                        break;
                    default: Console.WriteLine("No match");
                        break;
                }

                Console.WriteLine();
                Console.WriteLine("Would you like to try again (yes/no)?");

                answer = Console.ReadLine();

                Console.WriteLine();
            }
            while (answer.ToUpper() == "YES");


好的,如果您确定您需要至少运行一次porgram,则需要同时进行一次

{声明
} while(条件)
ok if u sure u need to run porgram at least one time , u need do while
do
{statement
}while(condition)


这篇关于做while循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆