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

解析Console.ReadLine输入后保留整数并正确计算总秒数的方法

计算总秒数时丢失输入数据的问题解决

你的代码问题在于覆盖了读取到的输入变量,导致原本输入的小时、分钟、秒数值被完全丢弃,只计算了天数转换的秒数,完全没用到输入的h、m、s。

错误原因拆解

你在读取完输入后执行了以下赋值操作:

h = d * 24; // 直接覆盖了之前读取的小时数h
m = h * 60; // 此处的h已是天数转的小时,同时覆盖了输入的分钟数m
s = m * 60; // 此处的m已是天数转的分钟,同时覆盖了输入的秒数s

这相当于只把天数转换成了秒,完全忽略了用户输入的小时、分钟、秒数据。

修正方案

保留所有输入变量,将每个时间单位分别转换为秒后相加,用新变量存储总秒数(或直接计算输出),避免覆盖原始输入值。

修正后的代码

using System;

class Program
{
    static void Main()
    {
        // 读取所有输入值,保留原始数据
        int d = int.Parse(Console.ReadLine());
        int h = int.Parse(Console.ReadLine());
        int m = int.Parse(Console.ReadLine());
        int s = int.Parse(Console.ReadLine());
        
        // 分别转换为秒后求和:天数转秒 + 小时转秒 + 分钟转秒 + 原始秒数
        int totalSeconds = d * 24 * 3600 + h * 3600 + m * 60 + s;
        
        Console.WriteLine(totalSeconds);        
    }
}

代码说明

  • d * 24 * 3600:将天数转换为秒(1天=24小时,1小时=3600秒)
  • h * 3600:将输入的小时数转换为秒
  • m * 60:将输入的分钟数转换为秒
  • 最后加上原始输入的秒数s,得到总秒数

这样就能正确计算所有输入时间单位的总秒数,不会丢失任何输入数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 17:20:08