【发布时间】:2017-07-18 10:54:30
【问题描述】:
我正在处理一项要求我们填写 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 ;
}
}
}
【问题讨论】:
-
对不起,这不是 StackOverflow 的工作方式。 “这是我的一堆代码,请为我调试” 形式的问题被认为是题外话。请访问help center 并阅读How to Ask 了解更多信息。 “它不起作用”是不够的。
-
一方面,如果您在字符串中没有找到字母,您会在末尾缺少一个
return -1;(在for循环之后)。另外,该方法是否应该不区分大小写?如果是这样,请将您的if更改为:if(array[i] == 'G' || array[i] == 'g')。 -
为什么要创建字符数组?正如其他人所说,您可以使用 x,indexOf()。如果您不允许这样做(即,如果您需要自己编写),为什么不在 x.charAt(i) 上进行测试?
标签: java arrays string methods