我目前正在編寫一個程序,需要一個人名和5個變量。然後用這5個變量我負責找到平均值/樣本方差。我當前的代碼如下:輸入字符串格式不正確C#
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;
}
}
}
我收到了「輸入字符串格式不正確」的錯誤「INT整數= Convert.ToInt32(變量);」我不明白爲什麼我得到這個錯誤。我在網上查找它的含義,很多人都說使用int.parse,但是從我讀到的內容中得到這個結果是因爲該變量沒有認識到它存在與之相關的值。任何幫助將不勝感激。
這意味着它不只是數字,它不能將其轉換爲int。 – 2013-03-01 18:32:41
拋出異常時'variable'的值是多少? – vlad 2013-03-01 18:33:49
更好的使用TryParse方法,它會返回指示字符串是否可以被解析(轉換爲int32)的bool值。 – 2013-03-01 18:33:50