我正在完成一项让我们填写8种不同方法的作业。对于我正在处理的特定方法,我必须查看字符串是否包含字母'G'并返回。我想出了一些我认为会起作用的东西,但事实并非如此。这也是一个基本的Java类,我很新,所以请解释一下你做了什么。
/**
* Where is the location of the letter G (upper or lower case) in
* the given string?
* @param x String to check
* @return 0 based location of first occurrence of G in x,
* -1 if G is not present.
*/
public static int indexOfG( String x ) {
char[] array = x.toCharArray();
for(int i = 0; i < array.length; i++){
if(array[i] == 'G'){
return i ;
}
}
}
答案 0 :(得分:2)
Strings已经有一个indexOf。
来自Oracle的Java文档:
indexOf(String str) 返回指定子字符串第一次出现的字符串中的索引。
修改强>
由于可能不允许使用String方法,我可以给你一些关于实现自己的indexOf的提示。
// This is a more concise and easier to read version
public static int indexOfG(String str){
for(int i = 0; i < str.length(); ++i){
if(str.charAt(i) == 'G' || str.charAt(i) == 'g') return i;
}
return -1;
}
您应该尝试将此方法设置为通用方法,接受第二个参数作为您要查找的字符。
答案 1 :(得分:0)
public static int indexOfG( String x ) {
char[] array = x.toCharArray();
for(int i = 0; i < array.length; i++){
if((array[i] == 'G') || (array[i] == 'g')){
return i ;
}
}
return -1;
}
以上代码给出了基于零的第一个位置的正确位置&#39;
另外,您也可以使用以下java字符串方法
public int indexOf(int ch)