我正在尝试制作一个程序,用于根据用户给出的数字计算某些特定数据.在这个例子中,我的程序计算范围(10,103)中可被2整除的数字量,以及范围(15,50)中的数字量,在用户给出的数字内可被3整除.在这个阶段,我的程序给出结果,当给出10个数字时(正如我在循环中指定的那样).当用户输入空行时,无论是否输入5或100个数字,如何让我的程序停止读取数字并给出结果?
这是我的代码,因为它现在寻找:
using System;
namespace Program1
{
class MainClass
{
public static void Main (string[] args)
{
int input10_103_div_2 = 0;
int input15_50_div_3 = 0;
for (int i = 0; i < 10; i++)
{
string input = Console.ReadLine ();
double xinput = double.Parse (input);
if (xinput > 10 && xinput <= 103 && (xinput % 2) == 0)
{
input10_103_div_2++;
}
if (xinput > 15 && xinput < 50 && (xinput % 3) == 0)
{
input15_50_div_3++;
}
} …Run Code Online (Sandbox Code Playgroud) Console.WriteLine ("Please enter some numbers");
int sum = 0;
for(;;)
{
string input = Console.ReadLine ();
if (string.IsNullOrEmpty (input))
{
break;
}
int inputParsed = int.Parse (input.ToString ());
int sumParsed = int.Parse (sum.ToString ());
sum = sum + input; // throws an error here
Console.WriteLine (sum);
Run Code Online (Sandbox Code Playgroud)
我希望我的程序显示用户输入的所有数字的总和,即使我已经解析了所需的所有变量,它也会抛出"无法隐式转换类型'字符串'到'int'"错误.怎么了?
我的程序中有一个除零异常的问题.我尝试了几个技巧,但都没有奏效.我应该在代码中更改什么以避免除以零?
我知道我必须在代码的"IF"部分添加一些额外的语句,但我仍然不知道到底应该做什么.
for (counter = 0; counter < numbers.Length; counter++)
{
string input = Console.ReadLine();
if(string.IsNullOrEmpty(input))
{
break;
}
else
{
int.TryParse (input, out numbers[counter]);
}
}
for (int i = 0; i < numbers.Length; i++) {
sum += numbers [i];
if (numbers [i] % 3 == 0 && numbers [i] % 9 != 0) {
div3not9++;
}
if (numbers [i] >= 11 && numbers [i] <= 131 && (numbers [i] * numbers [i] % 7 == 0) && (numbers …Run Code Online (Sandbox Code Playgroud)