jim*_*456 1 c# loops for-loop exception
我目前正在编写一个带有人名和5个变量的程序.然后使用这5个变量,我的任务是找到平均值/样本方差.我目前的代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string userName = "";
string variables = "";
int[] vars = parseVariableString(variables);
vars = new int[5];
int sum = 0;
Console.Write("Please enter your name: ", userName);
userName = Console.ReadLine();
Console.ReadLine();
Console.Write("Please enter 5 numbers with a space or coma inbetween: ", vars);
for (int i = 0; i < vars.Length; i++)
{
int number = vars[i];
sum += number;
}
float avg = sum/(float)vars.Length;
float variance = 0;
for (int i = 0; i < vars.Length; i++)
{
int number = vars[i];
float f = number - avg;
variance += (float)Math.Pow(f, 2);
}
float sv = variance / (vars.Length - 1);
Console.Write(" Your name is: ", userName);
Console.ReadLine();
Console.Write("The average of your numbers is: ", avg);
Console.ReadLine();
Console.Write("The sample variance of your numbers is: ", sv);
Console.ReadKey();
}
private static int[] parseVariableString(String variables)
{
String[] varArray = variables.Split(' ', ',');
int[] intArray = new int[varArray.Length];
for (int i = 0; i < varArray.Length; i++)
{
String variable = varArray[i];
int integer = Convert.ToInt32(variable);
intArray[i] = integer;
}
return intArray;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到了
输入字符串的格式不正确
错误int integer = Convert.ToInt32(variable);.我不明白为什么我收到这个错误.我在网上看到它意味着什么,很多人说使用int.parse但是从我读到的内容你得到这个因为变量不能识别出与它相关的值.任何帮助将不胜感激.
string variables = "";
int[] vars = parseVariableString(variables);
Run Code Online (Sandbox Code Playgroud)
你声明一个空字符串,然后尝试将该字符串转换为int.
private static int[] parseVariableString(String variables)
{
String[] varArray = variables.Split(' ', ',');
int[] intArray = new int[varArray.Length];
for (int i = 0; i < varArray.Length; i++)
{
String variable = varArray[i];
int integer = Convert.ToInt32(variable);
intArray[i] = integer;
}
return intArray;
}
Run Code Online (Sandbox Code Playgroud)
当你传入一个空字符串时,没有什么可以拆分,因此你的数组是空的.
| 归档时间: |
|
| 查看次数: |
5961 次 |
| 最近记录: |