You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何实现判断用户输入的两个数是否为一正一负

C#代码问题修正方案

存在的问题

  • 语法错误:if条件内错误使用分号;分隔两个判断规则,C#中多条件逻辑与需要用&&运算符连接;同时else后多余添加了括号(),else分支无需跟判断条件,不需要加括号。
  • 逻辑缺陷:现有if条件仅覆盖了「第一个数为正、第二个数为负」的场景,未覆盖「第一个数为负、第二个数为正」的符合要求场景,和需求“其中一个为正、另一个为负”的规则不符,且未排除0(0既不是正数也不是负数)的异常情况。
  • 潜在异常:直接使用int.Parse()转换用户输入,若用户输入非整数内容会直接触发程序崩溃。

修正后代码

static void check()
{
    Console.WriteLine("请输入第一个数字:");
    // 增加输入合法性校验
    if (!int.TryParse(Console.ReadLine(), out int num1))
    {
        Console.WriteLine("输入不是合法整数");
        return;
    }
    Console.WriteLine("请输入第二个数字:");
    if (!int.TryParse(Console.ReadLine(), out int num2))
    {
        Console.WriteLine("输入不是合法整数");
        return;
    }

    // 判断两个数符号相反,其中一个正一个负
    if ((num1 > 0 && num2 < 0) || (num1 < 0 && num2 > 0))
    {
        Console.WriteLine("输入正确。");
    }       
    else
    {
        Console.WriteLine("输入错误。");
    }
}

内容的提问来源于stack exchange,提问作者Axel Gjertsson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 10:48:03