这是过去的试卷中的一个问题。我不太确定如何将extract
方法转换为while和for循环。
我尝试过这个问题:extract1
和extract2
方法,但我知道它们不正确。原始方法可能没用,但考试要求您展示如何以不同方式编写方法。我想知道如何做以备将来参考。
String extractedThis = "";
public String extract(String text){
if(text.length()==0){
return extractedThis;
} else {
return extractedThis = text.charAt(0) + extract(text.substring(1));
}
}
public String extract1(String text) {
while (text != null) {
extractedThis = text.charAt(0) + text.substring(1);
}
return extractedThis;
}
public String extract2(String text) {
for (int i = 0; i < text.length(); i++) {
extractedThis = text.substring(i);
}
return extractedThis;
}
答案 0 :(得分:0)
public String extractWhileLoop(String text) {
extractedThis = "";
while(text.length() > 0) {
extractedThis += text.charAt(0);
text = text.substring(1);
}
return extractedThis;
}
public String extractForLoop(String text) {
extractedThis = "";
for (int i = 0; i < text.length(); i++) {
extractedThis += text.charAt(i);
}
return extractedThis;
}
然而,我并没有看到你试图通过这些方法实现什么作为返回他们的输入,并且可以做得更容易
答案 1 :(得分:0)
这个函数juste返回收到的字符串,然后是字符串的最后一个字符(即:&#39; abcd&#39; =&gt;&#39; abcdd&#39;),我正确地读了它。 它在递归调用中使用全局变量,它很有趣,但不惜一切代价避免:)
public String extract(String text){
String lastChar = '';
extractedThis = text;
while(text.length() > 0) {
lastChar = text.charAt(0);
text = text.substring(1);
}
return extractedThis = extractedThis + lastChar;
}