好吧,我想首先说我不是学生所以这个问题与家庭作业完全无关.我正在努力学习C#,因为我想要工作的公司使用它.我听说C#与
java非常相似所以我正在使用我的java书来解决运动问题来练习c#.这是我的问题,我正在尝试创建一个简单的程序,用户输入3个等级并将其存储在一个数组中,然后显示输入的三个等级.问题是它没有存储成绩.然而它显示一些随机数,如果我输入34,44和54它返回51.这是我的代码并感谢大家:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Practice1 { class Program { static void Main(string[] args) { int[] test = new int[4]; int i = 1; for (i = 1; i <= 3; i++) { Console.WriteLine("Please enter test " + i); test[i] = Console.Read(); Console.ReadLine(); } for (i = 1; i <=3; i++) { Console.WriteLine(test[i]); Console.ReadLine(); } } } }
解决方法
你的问题在这里:
test[i] = Console.Read();
这是将一个字符(这是一个整数字符代码)放入您的测试数组中.
相反
test[i] = int.Parse(Console.ReadLine());
编辑:如果你不确定用户会输入一个可解析的整数,也许他们会键入“six”,例如你可能会考虑使用try / catch(如果你想知道为什么它不会解析)或int.TryParse,返回true表示成功,并将解析后的整数分配给变量,字段或数组索引:
if(int.TryParse(Console.ReadLine(),out test[1]) Console.WriteLine("Successfully parsed integer"); else Console.WriteLine("Please enter an integer.");