谁来帮我解读下这段JAVA程序

来源:百度知道 编辑:UC知道 时间:2024/06/30 13:33:23
这段程序是用一个数组来记录一个字符串中每个字母出现的次数(忽略大小写)并输出结果,该字符串为运行时有命令行参数给出。
我对其中main方法中args的用法不甚了了。具体问题在程序注释中,请高手帮忙解答下!

class CFindChar
{
private String str;

CFindChar(String s){
str=s;
}
void counting(){
char text[]=str.toCharArray();//将str转化为一个字符数组
char temp[]=str.toCharArray();
int len=str.length();
int count[]=new int[len];
char ch;
int i,j,k;
for(i=0;i<len;i++){
ch=text[i];
for(j=0;j<len;j++)
if(ch!='\n'){
if(ch==text[j]){
count[i]++;
text[j]='\n';
}
}
else count[i]=-1;/*这段循环的意思是,先读入str的第一个字符,将它与后面的字符作比较,统计出它出现的次数
并且把统计后的字符置为\n以防被多次统计。第一个字符的出现次数记入count[0]。此后依此类
推。当后面i位的字符已被统记过,此时它已是\n,与它对应的count[i]置为-1.*/
}
System.out.println("In the string&qu

args 是一个String类型的数组
args.length 是这个数组的长度 就是里面有几个元素

1 数组字面意思很简单,就是一组数据
用来存储一组相同类型的数据
2 以String类为例
a) String[] array = new String[10];
后面的10表示这个数组有10个元素,从array[0]到array[9]
然后给每个元素赋值 如:array[0] = "str1";
b) String[] array = null;
array = new String[10];
这种方法就是把a)方法中的定义方式分开来写,意思一样
c) String[] array = new String[]{"str1", "str2", "str3"};
这种方法是在定义数组的同时,也给每个元素赋了值
相当于:
String[] array = new String[3];
array[0] = "str1";
array[1] = "str2";
array[2] = "str3";

数组可以存放任意类型的数据

length就是数组的长度,java里把数组也当成类来看待,length就是这个类的一个公开的属性,直接可以通过array.length来调用即可