对编程仍然很陌生,并且正在使用一些练习来理解基础知识。这是我的任务:
给定一个字符串,返回一个由前 2 个字符组成的字符串(如果存在),但是只有当它是 'o' 时才包含第一个字符,并且只有当它是 'z' 时才包含第二个字符,所以 "ozymandias" 产生 "oz"。startOz("ozymandias") → "oz" startOz("bzoo") → "z" startOz("oxx") → "o"
我已经看过解决方案并理解它,但无法弄清楚为什么我自己尝试使用 substring 而不是 'charAt 会生成不同的输出。为什么我自己的 code1 使用 substring 会给出不同的输出,然后我会使用 'charAt?Code1 是我自己的尝试,code2 是给定的解决方案。在附件中,您将找到两个输出。谢谢!
//code 1 own attempt
public String startOz(String str) {
String answer = "";
if ( str.length() >= 1 && str.substring( 0 ).equals("o")) {
answer = answer + str.substring(0);
}
if ( str.length() >= 2 && str.substring( 1 ).equals("z")) {
answer = answer + str.substring(1);
}
return answer;
}
//code 2 the solution
public String startOz(String str) {
String answer = "";
if ( str.length() >= 1 && str.charAt( 0 ) == 'o') {
answer = answer + str.charAt(0);
}
if ( str.length() >= 2 && str.charAt( 1 ) == 'z') {
answer = answer + str.charAt(1);
}
return answer;
}