这是我从学校收到的一个作业问题。问题是,编写一个名为capitalizer 的方法,它将采用字符串“ownage”,然后显示(不必返回)它的所有可能的大写形式,例如“OwNaGE”或“OWnAGE”。它不必对每个字符串都有效,只要“拥有”这个词就足够了,而且必须通过递归来完成。
这是我到目前为止所拥有的。
import java.util.*;
class MethodAssign2{
static void capitalizer(String a,int b){
if(b==-1){
System.out.println("worked?");
}else{
char[] achars = a.toCharArray();
achars[b] -= 32;
String caplet = new String(achars);
System.out.println(caplet);
System.out.println(a);
capitalizer(caplet,b-1);
capitalizer(a,b-1);
}
}
public static void main(String[]args){
String word = "ownage";
capitalizer(word,word.length()-1);
}
}
我的脑子现在完全乱了。好像我有很多重复的案例。你们认为我接近正确的解决方案吗?我该如何做到这一点,以便在基本情况下没有任何事情发生,而不是打印出一些东西?如何避免重复?任何人请帮助我,我将非常感激。