C#标签和转到
这是我的全部课程。显然我是个初学者。我面临的问题是,如果年龄小于零,它会返回几行,但它会再次向用户索要pin码(我能做些什么来解决这个问题C#标签和转到,c#,C#,这是我的全部课程。显然我是个初学者。我面临的问题是,如果年龄小于零,它会返回几行,但它会再次向用户索要pin码(我能做些什么来解决这个问题 using System; namespace Examples { class Program { static void Main(string[] args) { string name;
using System;
namespace Examples
{
class Program
{
static void Main(string[] args)
{
string name;
string city;
int age;
int pin;
// \n is used for line-break
Console.Write("Enter your name : ");
name = Console.ReadLine();
Console.Write("\nEnter Your City : ");
city = Console.ReadLine();
age:
Console.Write("\nEnter your age : ");
age = Int32.Parse(Console.ReadLine());
Console.Write("\nEnter your pin : ");
pin = Int32.Parse(Console.ReadLine());
if (age < 0 || age >= 110)
{
goto age;
}
// Printing message to console
//formatting output
Console.WriteLine("==============");
Console.WriteLine("Your Complete Address:");
Console.WriteLine("============\n");
Console.WriteLine("Name = {0}", name);
Console.WriteLine("City = {0}", city);
Console.WriteLine("Age = {0}", age);
Console.WriteLine("Pin = {0}", pin);
Console.WriteLine("===============");
Console.ReadLine();
}
}
}
使用系统;
名称空间示例
{
班级计划
{
静态void Main(字符串[]参数)
{
字符串名;
字符串城市;
智力年龄;
int引脚;
//\n用于换行符
控制台。写(“输入您的姓名:”);
name=Console.ReadLine();
控制台。写(“\n输入您的城市:”);
city=Console.ReadLine();
年龄:
控制台。写(“\n输入您的年龄:”);
age=Int32.Parse(Console.ReadLine());
控制台。写(“\n输入pin:”);
pin=Int32.Parse(Console.ReadLine());
如果(年龄<0 | |年龄>=110)
{
后藤时代;
}
//将消息打印到控制台
//格式化输出
Console.WriteLine(“=========================”);
Console.WriteLine(“您的完整地址:”);
Console.WriteLine(“=========================\n”);
WriteLine(“Name={0}”,Name);
Console.WriteLine(“City={0}”,City);
WriteLine(“Age={0}”,Age);
WriteLine(“Pin={0}”,Pin);
Console.WriteLine(“=========================”);
Console.ReadLine();
}
}
}
您可以将pin设置为-1,然后对照它进行检查
而且,你可能会因为那句“后藤”的话而卷入一场宗教战争……:)
通常情况下,这是不赞成的,当然可以避免在这里,但有些人会说这是好的。真的由你决定
我将把一些代码放在一起并粘贴它
void Main()
{
string name;
string city;
int age;
int pin;
// \n is used for line-break
Console.Write("Enter your name : ");
name = Console.ReadLine();
Console.Write("\nEnter Your City : ");
city = Console.ReadLine();
age = GetAge();
//... eluded
Console.ReadLine();
}
// Define other methods and classes here
private int GetAge() {
Console.Write("\nEnter your age : ");
int age = -1;
while (age <0 || age>110) {
age = Int32.Parse(Console.ReadLine());
}
return age;
}
void Main()
{
字符串名;
字符串城市;
智力年龄;
int引脚;
//\n用于换行符
控制台。写(“输入您的姓名:”);
name=Console.ReadLine();
控制台。写(“\n输入您的城市:”);
city=Console.ReadLine();
年龄=年龄();
//…逃避
Console.ReadLine();
}
//在此处定义其他方法和类
私有int GetAge(){
控制台。写(“\n输入您的年龄:”);
int age=-1;
而(110岁){
age=Int32.Parse(Console.ReadLine());
}
回归年龄;
}
在这种情况下,使用方法更合适:)因此,如果我理解正确,如果年龄小于0或大于110,是否要提示输入年龄 首先,不要使用标签,它们很难看,您不想使用它们,相反,您可以使用do while循环,但有很多可能性: 此外,您还可以使用
控制台.WriteLine
string name;
string city;
int age;
int pin;
// \n is used for line-break
Console.Write("Enter your name : ");
name = Console.ReadLine();
Console.Write("\nEnter Your City : ");
city = Console.ReadLine();
age = -1;
while (age < 0 || age >= 110)
{
Console.Write("\nEnter your age : ");
age = Int32.Parse(Console.ReadLine());
if (age < 0 || age >= 110)
{
Console.WriteLine("The age must be between 0 and 110.");
}
}
Console.Write("\nEnter your pin : ");
pin = Int32.Parse(Console.ReadLine());
// Printing message to console
//formatting output
Console.WriteLine("==============");
Console.WriteLine("Your Complete Address:");
Console.WriteLine("============\n");
Console.WriteLine("Name = {0}", name);
Console.WriteLine("City = {0}", city);
Console.WriteLine("Age = {0}", age);
Console.WriteLine("Pin = {0}", pin);
Console.WriteLine("===============");
Console.ReadLine();
字符串名;
字符串城市;
智力年龄;
int引脚;
//\n用于换行符
控制台。写(“输入您的姓名:”);
name=Console.ReadLine();
控制台。写(“\n输入您的城市:”);
city=Console.ReadLine();
年龄=-1岁;
而(年龄<0 | |年龄>=110)
{
控制台。写(“\n输入您的年龄:”);
age=Int32.Parse(Console.ReadLine());
如果(年龄<0 | |年龄>=110)
{
Console.WriteLine(“年龄必须介于0和110之间”);
}
}
控制台。写(“\n输入pin:”);
pin=Int32.Parse(Console.ReadLine());
//将消息打印到控制台
//格式化输出
Console.WriteLine(“=========================”);
Console.WriteLine(“您的完整地址:”);
Console.WriteLine(“=========================\n”);
WriteLine(“Name={0}”,Name);
Console.WriteLine(“City={0}”,City);
WriteLine(“Age={0}”,Age);
WriteLine(“Pin={0}”,Pin);
Console.WriteLine(“=========================”);
Console.ReadLine();
Goto标签是C语言一开始就遗留下来的一个相当古老的标签,您应该避免使用它。您可以通过实现一个循环来实现这一点
Console.WriteLine("Enter your pin : ");
pin = Int32.Parse(Console.ReadLine());
while (age < 0 || age >= 110)
{
Console.WriteLine("Enter your age : ");
int age = Int32.Parse(Console.ReadLine());
}
Console.WriteLine(“输入您的pin:”);
pin=Int32.Parse(Console.ReadLine());
而(年龄<0 | |年龄>=110)
{
控制台。WriteLine(“输入您的年龄:”;
int age=Int32.Parse(Console.ReadLine());
}
你可以在这里使用函数概念,你应该使用函数
Console.Write("\nEnter your age : ");
age = Int32.Parse(Console.ReadLine());
if (age < 0 || age >= 110)
{
//show error msg
}
Console.Write("\nEnter your pin : ");
pin = Int32.Parse(Console.ReadLine());
//if every data is corrent - run function
showinfo();
////////////
showinfo()
{
Console.WriteLine("==============");
Console.WriteLine("Your Complete Address:");
Console.WriteLine("============\n");
Console.WriteLine("Name = {0}", name);
Console.WriteLine("City = {0}", city);
Console.WriteLine("Age = {0}", age);
Console.WriteLine("Pin = {0}", pin);
Console.WriteLine("===============");
Console.ReadLine();}
Console.Write(“\n输入您的年龄:”);
age=Int32.Parse(Console.ReadLine());
如果(年龄<0 | |年龄>=110)
{
//显示错误消息
}
控制台。写(“\n输入pin:”);
pin=Int32.Parse(Console.ReadLine());
//如果每个数据都正确-运行函数
showinfo();
////////////
showinfo()
{
Console.WriteLine(“=========================”);
Console.WriteLine(“您的完整地址:”);
Console.WriteLine(“=========================\n”);
WriteLine(“Name={0}”,Name);
Console.WriteLine(“City={0}”,City);
WriteLine(“Age={0}”,Age);
WriteLine(“Pin={0}”,Pin);
Console.WriteLine(“=========================”);
Console.ReadLine();}
如@noctis所述,应避免使用goto。。它会产生问题。。。
另外,请检查-NegativeNumber异常概念…您也可以使用自己的异常只需在pin提示之前移动您的条件即可
age:
Console.Write("\nEnter your age : ");
age = Int32.Parse(Console.ReadLine());
if (age < 0 || age >= 110)
{
goto age;
}
Console.Write("\nEnter your pin : ");
pin = Int32.Parse(Console.ReadLine());
年龄:
控制台。写(“\n输入您的年龄:”);
age=Int32.Parse(Console.ReadLine());
如果(年龄<0 | |年龄>=110)
{
后藤时代;
}
控制台。写(“\n输入pin:”);
pin=Int32.Parse(Console.ReadLine());
噢,请不要使用goto
语句您的新功能,但您会想尽快失去对goto
的兴趣:)goto不好,您应该感觉不好。将if
语句向前移动两行。学习使用while
而不是goto
。祝你好运。这只是为了教育目的吗?学习,但要做