[英]Writing a non-static method as a static method
我正在尝试将此方法编写为静态方法,但是我不完全了解静态方法如何通过它们而不创建对象来使用。
这是我要转换的方法
public void process(String str)
{
for (int i=0; i<str.length(); i++){
char letter = str.charAt(i);
int index = Character.toLowerCase(letter-'a');
if (index>=0 && index<26){
counts[index]++;
}
}
}
该方法只需要一个字符串,并记录每个字母在字符串中出现的次数
我试图将此写为静态方法,但我有此方法存根
public static LetterCounter buildCounter(String str)
{
}
由于这是一项学习练习,因此我不会编写任何代码,而是描述需要完成的工作:
LetterCounter
实例 process
,传递您在buildCounter
获得的str
LetterCounter
实例。 大功告成!
您当前的代码将要求counts []也声明为静态,这意味着只有一个counts [],并且每次调用MyClass.process(“ blah”)都会增加类变量counts [index]
我正在猜测,但是我想您想做的是创建一个静态的“实用程序”函数来为传入的字符串中的各个字符返回一个计数数组?因此类似于此(未经测试的)代码,那么您将调用类似于MyUtilClass.process(“ xxyz”);在这种情况下,“静态”表示该进程没有与对象关联,它更像是“函数”或“子例程”
public static int[] process(String str) {
int[] counts = new int[25];
for (int i=0; i<str.length(); i++){
char letter = str.charAt(i);
int index = Character.toLowerCase(letter-'a');
if (index>=0 && index<26){
counts[index]++;
}
}
return counts;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.