使用溢出处理读取并添加两次(数值数学)[关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用溢出处理读取并添加两次(数值数学)[关闭]相关的知识,希望对你有一定的参考价值。
我只是简单地尝试一些东西,但我与next在一起:我从4位数字的控制台中得到2个数字,它会像小时一样添加自己。任务说:加2个小时(用户两个小时都加),我需要它像这样工作
1030 + 0825 = 8:55
hour1 1033 + hour2 0835 = 19:08
我知道使用DateTime很容易。但是,我不能在这里使用DateTime。解决方案应使用类似我当前代码的算术运算。
static void Main(string[] args)
{
int horaEntrada, horaEntrada2, hora, minut, hora2,minut2, sumamin,sumahora;
Console.WriteLine("Entra hora");
horaEntrada = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Entra hora 2");
horaEntrada2 = Convert.ToInt32(Console.ReadLine());
hora = horaEntrada / 100;
minut = horaEntrada % 100;
hora2 = horaEntrada2 / 100;
minut2 = horaEntrada2 % 100;
sumamin = minut + minut2;
sumahora = hora + hora2;
if (sumamin > 59)
{
sumamin = 0;
if (sumahora > 23) sumahora = 0;
else sumahora++;
}
else sumamin++;
Console.WriteLine($"la suma de las horas {horaEntrada} + {horaEntrada2} es {sumahora}:{sumamin}");
}
答案
好,所以我自己尝试了一下,您的代码遇到了2个问题:
问题
- [分钟超过60分钟时,您将分钟重置为0,而不是从中减去60。所以我将
sumamin = 0;
更改为sumamin -= 60;
if (sumamin >= 60)
{
sumamin -= 60;
if (sumahora > 23)
sumahora = 0;
else sumahora++;
}
第二件事是,如果剩余分钟数少于10,则不会添加0,所以我这样做:这将在前面添加0以获取正确的格式。
string resultMin = "0";
if (sumamin.ToString().Length == 1) {
resultMin = $"0{sumamin.ToString()}";
}
希望有帮助:))
以上是关于使用溢出处理读取并添加两次(数值数学)[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
备战数学建模27 & 科研必备 -Python之数值型数据处理numpy
Angular,body添加css溢出:如果模态打开则隐藏并在关闭时将其删除?