Java 编写一个方法以查看字符串x是否包含字母“G”
我正在做一项作业,让我们填写8种不同的方法。对于我正在处理的特定方法,我必须查看字符串是否包含字母“G”和return。我想出了一个我认为可行的办法,但事实并非如此。这也是一个基本的Java类,我是一个新手,所以请解释一下你做了什么Java 编写一个方法以查看字符串x是否包含字母“G”,java,arrays,string,methods,Java,Arrays,String,Methods,我正在做一项作业,让我们填写8种不同的方法。对于我正在处理的特定方法,我必须查看字符串是否包含字母“G”和return。我想出了一个我认为可行的办法,但事实并非如此。这也是一个基本的Java类,我是一个新手,所以请解释一下你做了什么 /** * Where is the location of the letter G (upper or lower case) in * the given string? * @param x String to check * @return 0 b
/**
* 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 ;
}
}
}
已存在字符串的indexOf
来自Oracle的Java文档:
索引字符串str
返回指定子字符串第一次出现的字符串内的索引
编辑
由于可能不允许使用字符串方法,我可以给您一些关于实现自己的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;
}
您应该尝试将此方法设置为通用方法,该方法接受第二个参数作为要查找的字符
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;
}
以上代码给出了“g”的第一个零基位置的正确位置
另外,您也可以使用下面的java字符串方法
public int indexOfint ch对不起,StackOverflow不是这样工作的。问题的形式这里有一堆我的代码,请为我调试它被认为是离题。请访问并阅读以了解更多信息。它不起作用是不够的。一方面,你错过了回报-1;在for循环之后的末尾,以防在字符串中找不到字母。此外,该方法是否应该不区分大小写?如果是,请将If更改为:ifarray[i]='G'| | array[i]='G'。为什么要创建字符数组?正如其他人所说,您可以使用x,indexOf。如果不允许您这样做,也就是说,如果要求您自己编写,为什么不在x.charAti上测试呢?indexOfint ch可能会更好。@Antoh在文档中可以找到其他重载,因此没有什么大不了的。很多时候,在开始java类时,不允许使用某些标准java库方法。我猜这门课就是这样。他将无法使用indexOfi,因为工厂方法可能不允许,所以他添加了一个带有for循环的简单实现。我感谢大家的帮助!如果我违反了发帖准则,我表示歉意;我是新来的。非常感谢。