A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© samuelziul 中级黑马   /  2013-6-18 12:10  /  1375 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 samuelziul 于 2013-6-18 15:19 编辑

零基础学习了2天,自己跟着视频乱写了一下, 下面定义了lsAge = 28, zsAge = 27, ssAge = 26 的年龄,想分别显示出数字出来,为甚会出错,不行? 怎么改正过来,求帮助,谢谢!

        static void Main(string[] args)
        {
            int lsAge = 28, zsAge = 27, ssAge = 26;
            Console.WriteLine(lsAge,zsAge,ssAge);
            Console.ReadKey();
        }
    }
}

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

13 个回复

倒序浏览
int lsAge = 28, zsAge = 27, ssAge = 26;
            //Console.WriteLine(lsAge.ToString() + "\n" + zsAge.ToString() + "\n" + ssAge.ToString());
          你直接在Console.WriteLine()中打印室不行的你的所打印的变量一定要ToString()
下面是我写的 使用占位符 比较简洁一点  希望对你有帮助!

            Console.WriteLine("lsAge={0},zsAge={1},ssAge={2}",lsAge,zsAge,ssAge);

            Console.ReadKey();

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
运行结果






55.png (1.36 KB, 下载次数: 1)

55.png
回复 使用道具 举报
本帖最后由 samuelziul 于 2013-6-18 12:45 编辑
﹏Lifeヽ 发表于 2013-6-18 12:35
int lsAge = 28, zsAge = 27, ssAge = 26;
            //Console.WriteLine(lsAge.ToString() + "\n" + zs ...

谢谢你的解答,但问题是,譬如:
//string nem = "李四", xbie="男",dh="15167568769";
//int anl = 45;
//Console.WriteLine("姓名:"+nem+",性别:"+xbie+",年龄:"+anl+",电话"+dh);
//Console.ReadKey();

这里也有整数 int anl=45 , 为什么它可以直接就显示出来呢?是不是说如果多个int , 是要用占位符的。
回复 使用道具 举报
Console.WriteLine("{0},{1},{2}",lsAge, zsAge, ssAge);

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
samuelziul 发表于 2013-6-18 12:39
谢谢你的解答,但问题是,譬如:
//string nem = "李四", xbie="男",dh="15167568769";
//int anl = 45;

呵呵,  使用 + 号也行啊  如果没有 + 号 你要tostring()一下    + 号起到的是连接的作用  你那 “” 双引号里面是字符串,所以起到的是连接字符串的作用!   兄弟加油哦~  
回复 使用道具 举报
samuelziul 发表于 2013-6-18 12:39
谢谢你的解答,但问题是,譬如:
//string nem = "李四", xbie="男",dh="15167568769";
//int anl = 45;

并不是多个int要用占位符,一个int也能用  所以 只要你想用 就能用
回复 使用道具 举报
本帖最后由 samuelziul 于 2013-6-18 13:15 编辑
﹏Lifeヽ 发表于 2013-6-18 12:46
呵呵,  使用 + 号也行啊  如果没有 + 号 你要tostring()一下    + 号起到的是连接的作用  你那 “” 双 ...

有点笨,不太明白,好想楼上那兄弟,他写了:Console.WriteLine("{0},{1},{2}",lsAge, zsAge, ssAge);
我自己试试着:
int anl = 45; eee = 18; sss = 19;
Console.WriteLine("{0},{1},{2}",anl, eee, sss);
Console.ReadKey();
但又直接出错了.

这个输出多个int的整数变量,出错了,错误显示eee和sss分别不在文本当中,只能输出个45 ,究竟要怎么弄才行?为什么用你们的代码粘上去可以运行,我自己重写一遍的就出错呢?求解!
回复 使用道具 举报
陈壹 中级黑马 2013-6-18 13:44:41
9#
samuelziul 发表于 2013-6-18 12:39
谢谢你的解答,但问题是,譬如:
//string nem = "李四", xbie="男",dh="15167568769";
//int anl = 45;

Console.WriteLine("姓名:"+nem+",性别:"+xbie+",年龄:"+anl+",电话"+dh);
+号有两种应用,①作为运算符,计算值类型的变量 ②作为两个字符之间的连接符
当表达式中有string型字符串是“+”的默认作用为连接符,而此时int等类型会自动转换成字符串类型
回复 使用道具 举报
nt anl = 45; eee = 18; sss = 19;同时定义多个变量,用逗号而不是分号

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
samuelziul 发表于 2013-6-18 12:54
有点笨,不太明白,好想楼上那兄弟,他写了:Console.WriteLine("{0},{1},{2}",lsAge, zsAge, ssAge);
我自 ...


nt anl = 45; eee = 18; sss = 19;同时定义多个变量,用逗号而不是分号
回复 使用道具 举报
//第一个问题 回答
static void Main(string[] args)
         {
             int lsAge = 28, zsAge = 27, ssAge = 26;
             Console.WriteLine("{0},{1},{2}",lsAge,zsAge,ssAge);
             Console.ReadKey();
         }
     }
}
//第二个问题 回答
int anl = 45; eee = 18; sss = 19;
//应该写成
int anl = 45,eee = 18, sss = 19;
因为;后面就不执行了.
int a=1;b=2;c=3;的话  意思是 int a=1;   然后b和c就没有int类型了.
你这么写吧
int a=1;
int b=2;
int c=3;

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
原理:
console.WrietLien(参数1,参数2,参数3........);
console.WriteLine(); 只输出参数1中的内容,参数1后边的参数,是用来替换占位符中的内容的 ,所以你应该名字自己 问题所在 了
想输出自己想要的各种,需要自己控制输出。。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
谢谢,楼上各位帮忙,现在明白了。也懂原理了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马