标题:在线等,求助。
只看楼主
uc8410553
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-9-23
结帖率:0
已结贴  问题点数:20 回复次数:10 
在线等,求助。
老师布置的第一道c#题目,他什么都没讲呢还。
输入某年某月某日,判断是该年的第几天。
执行一直错误,说 索引超出了数组界限
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace nianyueri
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入日期:年月日,回车键继续下一个数值的输入");
            int y = Console.Read(), m = Console.Read(), d = Console.Read(), i;
            int[] month = new int[13] { 0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
            if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
                month[2]=29;
            for (i = 1; i < m ; i++)
                d = d + month[i];
            Console.WriteLine("该年的第{0}天", d);
        }
    }
}
搜索更多相关主题的帖子: 年月日 void 在线 
2012-09-23 22:06
icedkl
Rank: 2
等 级:论坛游民
威 望:1
帖 子:18
专家分:37
注 册:2012-9-20
得分:3 
把第Console.Read()全部都改成 int.Parse(Console.ReadLine())      然后如果你想让它显示结果久点,最后加一行代码 Console.Readline();

有兴趣的共同探讨C#的同鞋朋友们可以一起进群讨论:QQ:203291000
2012-09-24 00:13
平遥小D
Rank: 2
等 级:论坛游民
帖 子:7
专家分:43
注 册:2012-7-17
得分:3 
Console.WriteLine("请输入日期:年月日,回车键继续下一个数值的输入");
            int year = Convert.ToInt32(Console.ReadLine());
            
            int month = Convert.ToInt32(Console.ReadLine());
           
            int day = Convert.ToInt32(Console.ReadLine());
            int[] months = new int[13] {0,31,28,31,30,31,30,31,31,30,31,30,31 };

            if (year % 4 == 0 && year % 400 == 0 || year % 100 != 0)
            {
                months[2] = 29;
            }
            for (int i = 0; i < month ; i++)
            {
                day = day + months[i];
            }
            Console.WriteLine("该年的第{0}天", day);
            Console.ReadKey();
2012-09-24 00:19
uc8410553
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-9-23
得分:0 
回复 3楼 平遥小D
谢谢您呐。,
2012-09-24 07:40
uc8410553
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-9-23
得分:0 
回复 2楼 icedkl
谢谢您呐
2012-09-24 07:40
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3450
专家分:19340
注 册:2012-3-31
得分:3 
学习

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2012-09-24 14:18
hu6184
Rank: 1
等 级:新手上路
帖 子:10
专家分:6
注 册:2012-9-21
得分:3 
加油
2012-09-26 16:34
暮色残阳
Rank: 2
来 自:河南
等 级:论坛游民
帖 子:15
专家分:64
注 册:2012-9-25
得分:3 
控制台应用程序?
2012-09-26 19:47
icedkl
Rank: 2
等 级:论坛游民
威 望:1
帖 子:18
专家分:37
注 册:2012-9-20
得分:0 
回复 8楼 暮色残阳
是的。

有兴趣的共同探讨C#的同鞋朋友们可以一起进群讨论:QQ:203291000
2012-09-26 21:26
lybh24
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:120
专家分:701
注 册:2012-9-8
得分:3 
    既然有朋友给你解决问题了,我就不重复了,给你个新的方法:
C# DateTime类有个DayOfYear属性,要求某年某月是第几天;可以这么写:
假设 str是你输入的年月日
 string str="2012-9-27";
 Console.WriteLine("第{0}天", DateTime.Parse(date).DayOfYear);
两行就可以代替你上面的那些了(这种方法要注意时间输入的格式,不然DateTime.Parse()无法转换),
不过还是先把你上面的理解了 呵呵

新群:273209143
2012-09-27 15:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-381963-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.146690 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved