它不会在输入无效时抛出错误

huangapple go评论61阅读模式
英文:

It doesn't throw an error on invalid input

问题

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace KKRIT
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Здравствуйте! Выберите страницу (от 1 до 354):");
            string page = Console.ReadLine();
            int result = Int32.Parse(page);
            while (page < 1 || page > 354)
            {
                Console.WriteLine("Страница введена успешно");
                else
                {
                    Console.WriteLine("Такой страницы не существует");
                }
            }
            Console.WriteLine("Переходим на страницу {0}...", page);
            Console.ReadLine();
        }
    }
}
英文:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace KKRIT
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(&quot;Здравствуйте! Выберите страницу (от 1 до 354):&quot;);
            string page = Console.ReadLine();
            int result = Int32.Parse(page);
            while (page &lt;= 1 || page &gt;= 354)
            {
                Console.WriteLine(&quot;Страница введена успешно&quot;);
                else
                {
                    Console.WriteLine(&quot;Такой страницы не существует&quot;);
                }
            }
            Console.WriteLine(&quot;Переходим на страницу {0}...&quot;, page);
            Console.ReadLine();
        }
    }
}

If the input is incorrect, the else text is not displayed

I have already tried all the options from the Internet, repeated the format, but nothing comes out

答案1

得分: 0

你的if语句不正确。应该检查页面是否大于或等于1 并且小于或等于354(然后页面存在)。

static void Main(string[] args)
{

    Console.WriteLine("Здравствуйте! Выберите страницу (от 1 до 354):");
    string page = Console.ReadLine();
    int result = Int32.Parse(page);
    if (result >= 1 && result <= 354)
    {
        Console.WriteLine("Страница введена успешно");
    }
    else
    {
        // 无效的页面
        Console.WriteLine("Такой страницы не существует");
    }
    Console.WriteLine("Переходим на страницу {0}...", page);
    Console.ReadLine();
}

你可以交换if语句,检查页面是否小于1 大于354,然后打印无效的页面

if (result < 1 || result > 354)
{
    // 无效的页面
    Console.WriteLine("Такой страницы не существует");
}
else
{
    Console.WriteLine("Страница введена успешно");
}
英文:

Your if statements is not right. It should check if page is above or equal to 1 AND below or equal to 354 (Then page is existing).

static void Main(string[] args)
{

    Console.WriteLine(&quot;Здравствуйте! Выберите страницу (от 1 до 354):&quot;);
    string page = Console.ReadLine();
    int result = Int32.Parse(page);
    if (result &gt;= 1 &amp;&amp; result &lt;= 354)
    {
        Console.WriteLine(&quot;Страница введена успешно&quot;);
    }
    else
    {
        // Invalid page
        Console.WriteLine(&quot;Такой страницы не существует&quot;);
    }
    Console.WriteLine(&quot;Переходим на страницу {0}...&quot;, page);
    Console.ReadLine();
}

You could switch the if statement and check if page is below 1 OR above 354 and then print Invalid page

if (result &lt; 1 || result &gt; 354)
{
    // Invalid page
    Console.WriteLine(&quot;Такой страницы не существует&quot;);
}
else
{
    Console.WriteLine(&quot;Страница введена успешно&quot;);
}

huangapple
  • 本文由 发表于 2023年2月6日 17:45:51
  • 转载请务必保留本文链接:https://go.coder-hub.com/75359646.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定