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

如何修复C#程序中重复提问问题(使用ReadLine()和return)

问题解决:程序重复提问的原因及修复

你的程序之所以重复提问,核心问题是两次调用了returnyNumber()方法:

  • 第一次在template()方法里调用,但没保存返回值,属于多余执行
  • 第二次在DisplayNumber()方法里调用,再次触发输入流程

只需要让returnyNumber()仅执行一次,复用结果即可,以下是两种修复方案:

方案1:利用类字段存储结果

修改TryReturn类的template和DisplayNumber方法:

public void template()
{
    // 仅调用一次输入方法,将结果存入类的entryNum字段
    entryNum = returnyNumber();
    DisplayNumber();
}
public void DisplayNumber()
{
    // 直接使用已获取的结果,不再重复调用输入方法
    WriteLine("number is " + entryNum);
    Read();
}

方案2:通过方法参数传递结果

这种方式更符合单一职责原则,无需依赖类字段:

public void template()
{
    int userInput = returnyNumber();
    DisplayNumber(userInput);
}
public void DisplayNumber(int inputNum)
{
    WriteLine("number is " + inputNum);
    Read();
}

两种方案都能实现用户仅输入一次数字,程序正常显示结果的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 09:51:27