奥萨瓦·本·萨卡

导航

C#初学第八天

1. 复习 数组如何定义
int [] num=new int[9];
2. 方法 ,方法定义在类里面和主函数中间 定义方法如下
public static void FangFa()
{
这里是方法体.
}
3. 方法就是把外界要处理的数据接收,首先,方法就像一个盒子,要处理外界的数据,
需要一个通道接受外界的数据,
public static void Fun(int n)
{
方法体,
直接可以使用n;
Console.WriteLine(n);
}
这样使用
Fun(23);
int nums=3;
Fun(nums);
5. 方法传入两个数,然后计算这两个数的和,并且返回
public static int Num(int num1,int num2)
{
int sum=num1+num2;
return sum;
}
需要返回数据,首先要确定返回值的类型
返回谁就return谁,程序执行遇到return 方法就结束了。
使用方法的时候,Num(4,3)就等价与return 后面的东西,要使用这个东西就要用变量接收
接收这个结果的变量的类型一定要和返回类型相同,返回类型一定要和return的类型相同
6. 方法可以实现代码的重用,实现相同的功能不用写重复的代码,只需要写一个方法,然后每次使用的时候就调用方法就可以了
封装方法可以使代码变的直观简洁,代码的修改和维护变得有条理容易处理。
7. 方法的文档注释
FangFa()为例
1.方法的功能
2.参数的作用
3.返回值的解释
约束数字的输入范围
8. 重载
重载是不同的函数,只是名字相同,为了维护与管理,以及调用
计算机是怎么知道调用哪一个函数的?
函数的签名概念
函数名+参数排列
参数类型,参数的顺序
当计算机执行到函数的时候
根据函数名找到函数
如果发现函数名相同并且有很多的时候
根据参数来寻找相应的函数
主要是参数的个数和顺序
方法名(第一个单数类型名,第二个参数类型名....最后一个参数类型名)
Fun1(string)
Fun1(string,int)
Fun1(string,int,bool)

 

public static string NumBn(string str)
{
int num = 0;
Console.WriteLine(str);
while (true)
{

str = Console.ReadLine();
try
{
num = int.Parse(str);
}
catch
{
Console.WriteLine("输入错误,请重新输入年份");
continue;
}
if (num % 400 == 0 || num % 4 == 0 && num % 100 != 0)
{
Console.WriteLine("是闰年");
break;
}
else
{
Console.WriteLine("不是闰年");
break;
}
}
return str;
}
/// <summary>
/// 判断用户是否输入的是数字
/// </summary>
/// <param name="str">提示用户输入数字</param>
/// <returns>输入的是数字就返回</returns>
public static int Max()
{
int sum = 0;
Console.WriteLine("请输入一个整数");
while (true)
{
if (int.TryParse(Console.ReadLine(), out sum))
{
Console.WriteLine("您输入的数字是{0}", sum);
break;
}
else
{
Console.WriteLine("您输入错误,请您输入数字,");
continue;
}
}
return sum;
}
public static int Max(string str)
{
int num;
while (true)
{
Console.WriteLine(str);
if (int.TryParse(Console.ReadLine(), out num))
{
break;
}
Console.Write("输入错误,");
}
return num;
}
public static string Numm()
{
string str;
while (true)
{
Console.WriteLine("请输入y/n");
str=Console.ReadLine();
if (str=="y"||str=="n")
{
break;
}
Console.Write("输入错误,");
}
return str;
}
public static int Max(int nb1,int nb2)
{
return nb1>nb2?nb1:nb2;
}
public static int Max(int[] num)
{
int sum = 0;
for (int i = 0; i < num.Length; i++)
{
sum+=num[i];
}
return sum;
}
static void Main(string[] args)
{
//int [] num = new int []{2,32,33,434,};
//int[] num1 = num;
//Console.WriteLine(num);
//Console.ReadKey();
//老师问学生,这道题你会做了吗?如果学生答"会了(y)",则可以放学.如果学生不会做(n),则老师再讲一遍,再问学生是否会做了......
//直到学生会为止,才可以放学.
//直到学生会或老师给他讲了10遍还不会,都要放学
//string str;
//int i = 0;
//while (i<10)
//{
// i++;
// Console.WriteLine("这道题你会做了吗");
// try
// {
// str = Console.ReadLine();
// }
// catch (Exception)
// {
// Console.WriteLine("输入错误请重新输入");
// continue;
// }
// if (str=="y")
// {
// break;
// }
// if (str=="n")
// {
// Console.Write("输入错误");
// continue;
// }
//}
//Console.WriteLine("放学");
//Console.ReadKey();
//一次语文测试后,老师让班长统计每一个学生的成绩并计算全班(全班共60人)的平均成绩,然后把所有成绩显示出来.
//int sum=0;
//int[] num = new int[60];
//for (int i = 0; i < num.Length; i++)
//{
// while (true)
// {
// Console.WriteLine("输入第{0}个学生的成绩", i + 1);
// try
// {
// num[i] = int.Parse(Console.ReadLine());
// sum += num[i];
// break;
// }
// catch
// {
// Console.Write("输入错误, ");
// }
// }
//}
//Console.WriteLine("总成绩是{0},平均成绩是{1}",sum,sum/num.Length);
//Console.ReadKey();
//从一个整数数组中取出最大的整数
//int[] num = new int[] { 43,4,44,34,3423,4434,};
//int temp=num[0];
//for (int i = 0; i < num.Length; i++)
//{
// if (num[i]>temp)
// {
// temp = num[i];
// }
//}
//Console.WriteLine(temp);
//Console.ReadKey();
//int[] num = new int[] {1,3423,54,546,65,6564,4334,345,435 };
//int kong=num[0];
//for (int i = 0; i < num.Length; i++)
//{
// if (num[i]>kong)
// {
// kong = num[i];
// }
//}
//Console.WriteLine("最大的整数是{0}",kong);
//Console.ReadKey();
//计算一个整数数组的所有元素的和
//int []num = new int[] {767,4353,32,23,131};
//int zh=num[0];
//for (int i = 0; i < num.Length; i++)
//{
// zh += num[i];
//}
//Console.WriteLine(zh);
//Console.ReadKey();
//将一个字符串数组输出为|分割的形式,比如“梅西|卡卡|郑大世”
//string[] str = new string[] {"梅西","卡卡","郑大世" };
//string sum=str[0];
//for (int i = 0; i < str.Length-1; i++)
//{
// sum += str[i] + "|";
//}
//sum += str[str.Length - 1];
//Console.WriteLine(sum);
//Console.ReadKey();
//将一个整数数组的每一个元素进行如下的处理:如果元素是正数则将这个位置的元素的值加1,
//如果元素是负数则将这个位置的元素的值减1,如果元素是0,则不变。
//Random r=new Random();
//int []sum=new int [10];
//while (true)
//{
// for (int i = 0; i < sum.Length; i++)
// {
// sum[i] = r.Next(-100, 100);
// }
// Console.WriteLine("这十个数字分别是:");
// for (int i = 0; i < sum.Length; i++)
// {
// Console.Write(sum[i] + "\t");
// }
// //int[] num = new int[] { 234,-32,4,556,6,-65,64,-4};
// for (int i = 0; i < sum.Length; i++)
// {
// if (sum[i] > 0)
// {
// sum[i]++;
// }
// if (sum[i] < 0)
// {
// sum[i]--;
// }
// Console.Write(sum[i] + "\t");
// }Console.ReadKey();
//}
//将一个字符串数组的元素的顺序进行反转。{“3”,“a”,“8”,“haha”} {“haha”,“8”,“a”,“3”}。第i个和第length-i-1个进行交换
//string[] sum = new string[]{"3","a","8","haha"};
//string temp = sum[0];
//for (int i = 0; i < sum.Length/2; i++)
//{
// temp=sum[i];
// sum[i]=sum[sum.Length-i-1];
// sum[sum.Length - i - 1] = temp;
//}
//Console.Write("交换后为");
//for (int i = 0; i < sum.Length; i++)
//{
// Console.Write(sum[i]+"\t");
//}
//Console.ReadKey();
//string[] str = new string[] { "3","a","5","haha"};
//string sum=str[0];
//for (int i = 0; i < str.Length/2; i++)
//{
// sum=str[i];
// str[i]=str[str.Length-i-1];
// str[str.Length - i - 1] = sum;
//}
//Console.WriteLine("交换后为");
//for (int i = 0; i < str.Length; i++)
//{
// Console.Write(str[i]+"\t");
//}
//Console.ReadKey();
//NumBn("请你输入年份");
//Console.ReadKey();
//读取输入的整数,定义成方法,多次调用(如果用户输入的是数字,则返回,否则提示用户重新输入)
//NumBnv("请输入数字,");
//Console.ReadKey();
//int nb =NumB();
//Console.WriteLine(nb*2);
//Console.ReadKey();
//还记得学循环时做的那道题吗?只允许用户输入y或n,请改成方法
//Console.WriteLine("你刚才输入的是{0}",Numm());
//Console.ReadKey();
//查找两个整数中的最大值:int Max(int i1,int i2)
//int s1=Max("请输入第一个数字");
//int s2=Max("请输入第二个数字");
//int sd=Max(s1,s2);
//Console.WriteLine("刚刚输入的最大数是{0}",sd);
//Console.ReadKey();
//计算输入数组的和:int Sum(int[] values)
//int sc = Max("请输入数组的长度");
//int []sz=new int [sc];
//for (int i = 0; i < sz.Length; i++)
//{
// sz[i] = Max("请输入第"+(i+1)+"个数字");
//}
//int he = Max(sz);
//Console.WriteLine("数组和为{0}",he);
//Console.ReadKey();
//冒泡
//int[] num = new int[] {1,34,4,54,6,3243,5,65,7,64,56,454};
//for (int i = 0; i < num.Length-1; i++)
//{
// for (int q = 0; q<num.Length-1-i; q++)
// {
// if (num[q]>num[q+1])
// {
// int temp=num[q];
// num[q]=num[q+1];
// num[q + 1] = temp;
// }
// }
//}
//for (int i = 0; i < num.Length; i++)
//{
// Console.Write(num[i]+"\t");
//}
//Console.ReadKey();
//int[] num = new int[] {1,44,4324,34,54,656,788,87,842,432,65};
//for (int i = 0; i < num.Length-1; i++)
//{
// for (int q = 0; q < num.Length-1-i; q++)
// {
// if (num[q]>num[q+1])
// {
// int temp = num[q];
// num[q] = num[q + 1];
// num[q + 1] = temp;
// }
// }
//}
//for (int i = 0; i < num.Length; i++)
//{
// Console.Write(num[i]+"\t");
//}
//Console.ReadKey();
//int[] num = new int[] { 324,432,545,6576,7686,87,98,3,322,46,636,758};
//for (int i = 0; i < num.Length-1; i++)
//{
// for (int q = 0; q < num.Length-1-i; q++)
// {
// if (num[q]<num[q+1])
// {
// int temp=num[q];
// num[q]=num[q+1];
// num[q + 1] = temp;
// }

// }
//}
//for (int i = 0; i < num.Length; i++)
//{
// Console.Write(num[i]+"\t");
//}
//Console.ReadKey();


}
}

posted on 2011-11-21 22:16  奥萨瓦·本·萨卡  阅读(411)  评论(0编辑  收藏  举报