标签:
输入一个由若干字符组成的字符串,写一个静态方法,方法中使用输出参数输出其中的大写字母、小写字母、数字和其它字符的个数(统计)。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace ConsoleApplicationP138_3_3 7 { 8 class Program 9 { 10 public static void TongJi(out int bigc,out int smallc,out int number,out int others) 11 { 12 bigc = 0; 13 smallc = 0; 14 number = 0; 15 others = 0; 16 string str = Console.ReadLine(); 17 char[] s = str.ToCharArray(); 18 for (int i = 0; i < s.Length; i++) 19 { 20 if (s[i] >= 48 && s[i] <= 57) 21 number++; 22 else if (s[i] >= 65 && s[i] <= 90) 23 bigc++; 24 else if (s[i] >= 97 && s[i] <= 122) 25 smallc++; 26 else 27 others++; 28 } 29 } 30 static void Main(string[] args) 31 { 32 int bigc, smallc, number, others; 33 TongJi(out bigc, out smallc, out number, out others); 34 Console.WriteLine("大写字母的个数为{0}个,小写字母的个数为{1}个,数字的个数为{2}个,其他字符的个数为{3}个。", bigc, smallc, number, others); 35 Console.ReadKey(); 36 } 37 } 38 }
这个问题很简单,主要解决两个小问题:一是如何用方法的输出参数输出结果,另一个是用ToCharArray将读入的字符串分割成字符。
//关于方法参数的知识——来自博客园
//http://www.cnblogs.com/jiajiayuan/archive/2011/09/06/2168939.html
static void ChangeValue(out int x,out int y)
{
//在这里进行了i和j的初始化
x = 1;
y = 2;
int temp = x;
x = y;
y = temp;
}
static void Main(string[] args)
{
//此处不进行i和j的赋值
int i , j; //那么若是给i,j再次赋值后(int=3,j=4),结果为什么呢?
ChangeValue(out i,out j);
Console.WriteLine("i = {0}, j = {1}", i, j);
Console.Read();
}
/*
* 输出类型也实现了ChangeValue()计划的功能:
* 输出为:
* i = 2, j =1
* 即使给i,j初始化,结果还是i=2,j=1
*/
/*关于将string类型转化为char型数组的知识——来自百度百科
http://baike.baidu.com/link?url=vB7uZxYMCc8sjarQASKv_FqClybNqlmonkA5Vr-h1XPx8_Bc25g-XZ3q_1MlcpK4-IONw_HfBlMO2tVaROUBzK
C#用法:
Split和ToCharArray的区别:
(1)split是根据你需要按照的分隔符来分割的,比如:String a = "avc,d,e,s,f"; String []b = a.split(‘,‘);这个就是根据逗号将数据分开,遍历输出得到的b的对象为"avc","d","e","s","f"。
(2)toCharArray是将String对象的每一个下标位的对象保存在char[]中,比如:String a = "abcd"; char b[] = a.toCharArray(); 这个b保存的信息就是[‘a‘,‘b‘,‘c‘,‘d‘]。
*/
标签:
原文地址:http://www.cnblogs.com/jnyx/p/5347517.html