黑马程序员技术交流社区

标题: 用户输入进行的运算 [打印本页]

作者: 李龙祺    时间: 2012-12-7 17:34
标题: 用户输入进行的运算
我是初学者刚学习了算术运算,结合前面学的用户输入写了一段代码。
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace _06算术运算
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             Console.WriteLine("输入你的成绩语文是");
  12.             string chinese = Console.ReadLine();
  13.             Console.WriteLine("数学");
  14.             string math = Console.ReadLine();
  15.             Console.WriteLine("英语");
  16.             string english = Console.ReadLine();

  17.             //int chinese = 90;
  18.             //int math = 80;
  19.             //int english = 85;
  20.             int sum = chinese + math + english;
  21.             int  pj = sum/3;
  22.             Console.WriteLine("你的总成绩是{0},平均分是{1}",sum,pj);
  23.             
  24.             Console.ReadKey();
  25.         }
  26.     }
  27. }
复制代码
报错   怎么解决

QQ截圖20121207173357.png (5.3 KB, 下载次数: 31)

QQ截圖20121207173357.png

作者: 武江英    时间: 2012-12-7 17:50
这个错误提示出现在22行,sum为int类型,而chinese,math,english为string类型。
你可以这样修改
int sum=convert.Toint32(chinese)+convert.Toint32(math)+convert.Toint32(english);
作者: 欧玉斌    时间: 2012-12-7 17:53
chinese,math,english声明的时候是string字符串类型,而在计算int sum = chinese + math + english;需要把这三个变量转为int类型,这个可以这么理解:int数字加数字才等于数字嘛
怎么转呢?用int.parse()就可以了。()内必须是string类型,而且必须是可以转为数字的string,比如aa就不能变为数字,会报错。
  1. int sum = int.Parse(chinese) +int.Parse( math) + int.Parse(english);
复制代码

作者: 000lazy    时间: 2012-12-7 22:55
顶~~~~~~顶
作者: 李龙祺    时间: 2012-12-8 16:21
多谢了

作者: 苏波    时间: 2012-12-8 18:32
变量的 类型不统一 啊,除了上面的改法外也可以这样改  :第13行 int chinese=Convert.ToInt32(Cnsole.WiteLine()) ;
                                                                                      第15行 int math=Convert.ToInt32(Cnsole.WiteLine()) ;
                                                                                      第17行 int engilsh=Convert.ToInt32(Cnsole.WiteLine()) ;
作者: 汪磊    时间: 2012-12-9 22:09
字符串类型相加得到的是字符串拼接而不是数学意义上的算数加法, 用Convert.Toint32(str);转换一下数据类型,  建议去复习一下数据类型和运算符!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2