编写一个方法来查看String x是否包含字母“G”

时间:2017-02-27 17:41:52

标签: java arrays string methods

我正在完成一项让我们填写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 ;
        }   
    }
}

2 个答案:

答案 0 :(得分:2)

Java String

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)