C#错误无法将类型“int”隐式转换为“string”,这是一个通过身份证号判断什么星座的,出生日期等 10
usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceConsoleApplicat...
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
aa:
String str;
str1 = str;
System.Console.WriteLine("请输入您的身份证号:");
str = Convert.ToString(Console.ReadLine());
System.Console.WriteLine("您输入身份证号的长度是:");
Console.WriteLine(str.Length);
if (str.Length == 18)
{
Console.WriteLine("出生日期");
Console.WriteLine(str.Substring(6, 4) + "年" + str.Substring(10, 2) + "月" + str.Substring(12, 2) + "日");
int str1 = Convert.ToInt32(Console.ReadLine());
if (str1 > 321 && str1 <= 420)
{
Console.WriteLine("你是白羊座的");
}
//else 展开
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
aa:
String str;
str1 = str;
System.Console.WriteLine("请输入您的身份证号:");
str = Convert.ToString(Console.ReadLine());
System.Console.WriteLine("您输入身份证号的长度是:");
Console.WriteLine(str.Length);
if (str.Length == 18)
{
Console.WriteLine("出生日期");
Console.WriteLine(str.Substring(6, 4) + "年" + str.Substring(10, 2) + "月" + str.Substring(12, 2) + "日");
int str1 = Convert.ToInt32(Console.ReadLine());
if (str1 > 321 && str1 <= 420)
{
Console.WriteLine("你是白羊座的");
}
//else 展开
2个回答
2011-03-17 · 知道合伙人互联网行家
zhuxinjun1982
知道合伙人互联网行家
向TA提问 私信TA
知道合伙人互联网行家
采纳数:2145
获赞数:8329
毕业于上海行健职业学院,大专学历;2007~2009在北大青鸟进修网络编程课目。现任网络主管,平时爱好上网。
向TA提问 私信TA
关注
展开全部
Console.WriteLine(str.Substring(6, 4) + "年" + str.Substring(10, 2) + "月" + str.Substring(12, 2) + "日");
这句控制台输出的语句包括了年和月,你试想包括年和月的字符串怎么可能转成INT类型。
if (str.Length == 18)
{
Console.WriteLine("出生日期");
Console.WriteLine(str.Substring(6, 4) + "年" + str.Substring(10, 2) + "月" + str.Substring(12, 2) + "日");
int str1 = Convert.ToInt32(Console.ReadLine());
if (str1 > 321 && str1 <= 420)
{
Console.WriteLine("你是白羊座的");
}
改成如下:
if (str.Length == 18)
{
注释//Console.WriteLine("出生日期");
注释 // Console.WriteLine(str.Substring(6, 4) + "年" + str.Substring(10, 2) + "月" + str.Substring(12, 2) + "日");
Console.WriteLine(str.Substring(10, 2) + str.Substring(12, 2));
//这里我把你年份给去掉了,原因是你下面是用使用月份和日期来进行比较的,并未用到年份,如果不去掉,无法进行准确的比较。去掉年份后,字符串位置可能有所变换,str.Substring中的参数起始位置你可根据需要自行调整
int str1 = Convert.ToInt32(Console.ReadLine());
if (str1 > 321 && str1 <= 420)
{
Console.WriteLine("出生日期");
Console.WriteLine(str.Substring(6, 4) + "年" + str.Substring(10, 2) + "月" + str.Substring(12, 2) + "日");
Console.WriteLine("你是白羊座的");
}
}
Console.ReadLine();
这句控制台输出的语句包括了年和月,你试想包括年和月的字符串怎么可能转成INT类型。
if (str.Length == 18)
{
Console.WriteLine("出生日期");
Console.WriteLine(str.Substring(6, 4) + "年" + str.Substring(10, 2) + "月" + str.Substring(12, 2) + "日");
int str1 = Convert.ToInt32(Console.ReadLine());
if (str1 > 321 && str1 <= 420)
{
Console.WriteLine("你是白羊座的");
}
改成如下:
if (str.Length == 18)
{
注释//Console.WriteLine("出生日期");
注释 // Console.WriteLine(str.Substring(6, 4) + "年" + str.Substring(10, 2) + "月" + str.Substring(12, 2) + "日");
Console.WriteLine(str.Substring(10, 2) + str.Substring(12, 2));
//这里我把你年份给去掉了,原因是你下面是用使用月份和日期来进行比较的,并未用到年份,如果不去掉,无法进行准确的比较。去掉年份后,字符串位置可能有所变换,str.Substring中的参数起始位置你可根据需要自行调整
int str1 = Convert.ToInt32(Console.ReadLine());
if (str1 > 321 && str1 <= 420)
{
Console.WriteLine("出生日期");
Console.WriteLine(str.Substring(6, 4) + "年" + str.Substring(10, 2) + "月" + str.Substring(12, 2) + "日");
Console.WriteLine("你是白羊座的");
}
}
Console.ReadLine();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询