运行结果:输入是“HELLO WORLD!”
type in line
HELLO WORLD! (这个是输入)
HELLO WORLD!
character counts are
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is
count is 0
Char is count is 0
Char is count is 0
count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 1
Char is ! count is 1
Char is " count is 0
Char is # count is 0
Char is $ count is 0
Char is % count is 0
Char is & count is 0
Char is ' count is 0
Char is ( count is 0
Char is ) count is 0
Char is * count is 0
Char is + count is 0
Char is , count is 0
Char is - count is 0
Char is . count is 0
Char is / count is 0
Char is 0 count is 0
Char is 1 count is 0
Char is 2 count is 0
Char is 3 count is 0
Char is 4 count is 0
Char is 5 count is 0
Char is 6 count is 0
Char is 7 count is 0
Char is 8 count is 0
Char is 9 count is 0
Char is : count is 0
Char is ; count is 0
Char is < count is 0
Char is = count is 0
Char is > count is 0
Char is ? count is 0
Char is @ count is 0
Char is A count is 0
Char is B count is 0
Char is C count is 0
Char is D count is 1
Char is E count is 1
Char is F count is 0
Char is G count is 0
Char is H count is 1
Char is I count is 0
Char is J count is 0
Char is K count is 0
Char is L count is 3
Char is M count is 0
Char is N count is 0
Char is O count is 2
Char is P count is 0
Char is Q count is 0
Char is R count is 1
Char is S count is 0
Char is T count is 0
Char is U count is 0
Char is V count is 0
Char is W count is 1
Char is X count is 0
Char is Y count is 0
Char is Z count is 0
Char is [ count is 0
Char is \ count is 0
Char is ] count is 0
Char is ^ count is 0
Char is _ count is 0
Char is ` count is 0
Char is a count is 0
Char is b count is 0
Char is c count is 0
Char is d count is 0
Char is e count is 0
Char is f count is 0
Char is g count is 0
Char is h count is 0
Char is i count is 0
Char is j count is 0
Char is k count is 0
Char is l count is 0
Char is m count is 0
Char is n count is 0
Char is o count is 0
Char is p count is 0
Char is q count is 0
Char is r count is 0
Char is s count is 0
Char is t count is 0
Char is u count is 0
Char is v count is 0
Char is w count is 0
Char is x count is 0
Char is y count is 0
Char is z count is 0
Char is { count is 0
Char is | count is 0
Char is } count is 0
Char is ~ count is 0
Char is count is 0
Press any key to continue也就是说把128个ascii码列出来(这个网页上显示不出来),并且算出每个ascii码在输入的里面出现的次数,比如输入是“HELLO WORLD!”,L出现了3次,所以“Char is L count is 3”我不太理解input.Length是什么?input不是数组啊,buffer[i] = input[i];又是什么意思?
我对这个程序不太明白,向各位大哥请教~~~谢谢!
type in line
HELLO WORLD! (这个是输入)
HELLO WORLD!
character counts are
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is
count is 0
Char is count is 0
Char is count is 0
count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 0
Char is count is 1
Char is ! count is 1
Char is " count is 0
Char is # count is 0
Char is $ count is 0
Char is % count is 0
Char is & count is 0
Char is ' count is 0
Char is ( count is 0
Char is ) count is 0
Char is * count is 0
Char is + count is 0
Char is , count is 0
Char is - count is 0
Char is . count is 0
Char is / count is 0
Char is 0 count is 0
Char is 1 count is 0
Char is 2 count is 0
Char is 3 count is 0
Char is 4 count is 0
Char is 5 count is 0
Char is 6 count is 0
Char is 7 count is 0
Char is 8 count is 0
Char is 9 count is 0
Char is : count is 0
Char is ; count is 0
Char is < count is 0
Char is = count is 0
Char is > count is 0
Char is ? count is 0
Char is @ count is 0
Char is A count is 0
Char is B count is 0
Char is C count is 0
Char is D count is 1
Char is E count is 1
Char is F count is 0
Char is G count is 0
Char is H count is 1
Char is I count is 0
Char is J count is 0
Char is K count is 0
Char is L count is 3
Char is M count is 0
Char is N count is 0
Char is O count is 2
Char is P count is 0
Char is Q count is 0
Char is R count is 1
Char is S count is 0
Char is T count is 0
Char is U count is 0
Char is V count is 0
Char is W count is 1
Char is X count is 0
Char is Y count is 0
Char is Z count is 0
Char is [ count is 0
Char is \ count is 0
Char is ] count is 0
Char is ^ count is 0
Char is _ count is 0
Char is ` count is 0
Char is a count is 0
Char is b count is 0
Char is c count is 0
Char is d count is 0
Char is e count is 0
Char is f count is 0
Char is g count is 0
Char is h count is 0
Char is i count is 0
Char is j count is 0
Char is k count is 0
Char is l count is 0
Char is m count is 0
Char is n count is 0
Char is o count is 0
Char is p count is 0
Char is q count is 0
Char is r count is 0
Char is s count is 0
Char is t count is 0
Char is u count is 0
Char is v count is 0
Char is w count is 0
Char is x count is 0
Char is y count is 0
Char is z count is 0
Char is { count is 0
Char is | count is 0
Char is } count is 0
Char is ~ count is 0
Char is count is 0
Press any key to continue也就是说把128个ascii码列出来(这个网页上显示不出来),并且算出每个ascii码在输入的里面出现的次数,比如输入是“HELLO WORLD!”,L出现了3次,所以“Char is L count is 3”我不太理解input.Length是什么?input不是数组啊,buffer[i] = input[i];又是什么意思?
我对这个程序不太明白,向各位大哥请教~~~谢谢!
string input = Console.ReadLine();
把你输入的HELLO WORLD! \n 变成input的数组buffer[i] = intput[i]
把buffer[i]引用input[i]的地址,即buffer[i]原有的地址将失效,引向input[i]的地址
input[i]是获取第i位的字符
input[i]是获取第i位的字符
string input = Console.ReadLine();
把你输入的HELLO WORLD! \n 变成input的数组"这样input就成为了数组了吗???
不用声明定义吗?
for (int i = 0;i < buffer.Length; ++i)
buffer[i] = input[i];
这个步骤导到buffer这个数组里?,直接用input不好吗?
input.Length和buffer.Length也不是一个含义。string的Length是表示这个字符串的长度,而数组的Length是表示数组的元素个数,在这里只不过是恰恰巧合而已!
buffer[i] = input[i];就是取出字符串的每个字符放到一个数组中,其实不用buffer数组也许更好理解一点。
public static void CharCount(/*char[] buf*/string str,int[] cnt)
{
for (int i = 0; i<str.Length;++i)
{
cnt[(int)str[i]] += 1;
}
}
那么input[i];(i=0,1,2,3,4,5,6...,11:“hello world!”一共是12个字符)这种表达方式也不是数组的表达吗?那么比如input[3]我叫他什么?不是数组的元素吗?还有最后两行代码
public static void CharCount(char[] buf,int[] cnt)
{
for (int i = 0; i<buf.Length;++i)
cnt[(int)buf[i]] += 1;
}
也就是CharCount(buffer,countCharacters)这个方法里面的流程是怎样的啊?
buffer(也就是方法中的char[] buf),countCharacters(也就是int[] cnt)当中
buffer是由input来的数组,也就是说buffer[0]里面是“H”,buffer[1]是“E”,buffer[2]是“L”...buffer[11]是“!”对吧,
countCharacters是开始就定义了的128个元素的数组,是这样的吧,
然后做一个for循环“for (int i = 0; i<buf.Length;++i)”也就是循环次数是输入的“hello world!”的字符个数,对吧,这里就是循环12次(每个字符循环一次),
然后我就不明白了“cnt[(int)buf[i]] += 1;”是个什么东西啊:
countCharacters[(int)buffer[i]],大概写起来是这么个示意
这句话是什么意思啊,对谁计数啊,countCharacters[i]是128个ascii代码对应的数组元素名,但是(int)buf[i]怎么理解啊???buffer原来是char[] 的啊,这里(int)做什么,
按推理来说(int)buffer[i]应该是countCharacters[i]里面ascii代码的128个元素的索引号
但是这里面的i实际上是buffer[i]前面说的的数组内容啊(也就是说buffer[0]里面是“H”,buffer[1]是“E”,buffer[2]是“L”...buffer[11]是“!”)
也就是说我没绕过来的是(int)buf[i]到底是个什么东西?请指教,谢谢
还是上面那个傻问题cnt[(int)str[i]] += 1;里面(int)str[i]代表的是什么?
将字符串str的第i个字符转换为整数,如果不能转换,则抛出一个异常