C#设计程序判断闰年
设计Windwos窗体应用程序判断输入如年份是否是闰年,并能够检测输入的非法数值,例如字母、或者特殊符号或者超出合理范围,都要进行异常处理,
提示:四年一闰,百年不闰,四百年再闰。
下面是运行效果图:
下面是输入有误
思路:输入的值为字符串,判断字符串中有没有特殊字符,或者字符长度是否太长,然后如果没有以上错误,则将字符串转换为整形,并且判断输出。
下面是代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 判断闰年
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string s;
s = textBox1.Text;
yc(s);
}
private int yc(string s)//创建方法
{
for (int i = 0; i < s.Length; i++)//判断输入的有没有非法字符,以及长度是否太长
{
if (s.Length > 8 || s[i] < '0' || s[i] > '9')//s.Length > 8输入的数值超过了8位则是错误
{
MessageBox.Show("错误!你输入错误");
return 0;//如果输入的有问题则打印出“您输入错误”,并且结束
}
}
//如果上面没有没有进入if
int z = 0, j = s.Length - 1;
double m = 0;
while (z < s.Length)//进入循环将字符串转化为int的数m
{
m = m + (s[z] - 48) * Math.Pow(10, j);
z++;
j--;
}
//开始判断是否为闰年
if (m % 4 == 0 && m % 100 != 0 || m % 400 == 0)
{
MessageBox.Show("你输入的年份是闰年");
}
else
MessageBox.Show("你输入的年份不是闰年");
return 0;
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}