【发布时间】:2016-03-22 06:24:49
【问题描述】:
我正在通过书本自学 C#,我需要一些帮助。我想创建一个控制台程序,用户在其中输入一个数字作为浮点数数组的大小。然后程序会提示用户搜索一个(浮点数)并告诉用户它是否存在于数组中。
我遇到的问题是它还不接受浮点数(目前只有整数有效)并且它只会找到输入的第一个数字。
这是我目前写的代码:
public static void Main()
{
int size;
int i;
size = readNumber("How many numbers do you want to enter: ");
float[] numbers = new float[size];
for (i = 0; i < size; i++)
numbers[i] = readFloat("Enter a number: ");
Console.WriteLine();
Console.WriteLine("Please enter any number to check if it exists in the array: ");
float userInput = float.Parse(Console.ReadLine());
for (i = 0; i < size; i++)
{
if (userInput == numbers[i])
{
Console.Write("Congratulations! The number you entered exists in the array.");
break;
}
else
{
Console.Write("Sorry. The number you entered does not exist in the array.");
break;
}
}
Console.ReadLine();
}
private static float readFloat(string question)
{
Console.Write(question);
string ans = Console.ReadLine();
float number = float.Parse(ans);
return number;
}
private static int readNumber(string question)
{
Console.Write(question);
string ans = Console.ReadLine();
int number = int.Parse(ans);
return number;
}
}
【问题讨论】:
-
你用的是什么ide?因为您是编程新手,我强烈建议您调试程序并查看错误发生的位置。
-
通过考虑循环中的 if 语句可以发现一个非常明显的错误。尝试通过想象一些输入来推理代码,并尝试一路单步执行程序。你不必走得太远(提示:它与范围和流量控制有关)
-
如果输入浮点数会怎样? kai 的评论应该可以解决您的第二个问题。
-
对于浮动问题,您是否尝试过输入
2.5或2,5,这取决于您的文化设置,错误的会导致25 -
你得到了答案。 :)