这是我从学校收到的作业问题.问题是,写一个名为capitalizer的方法,它将获取字符串“ownage”,然后显示(不必返回)它的所有可能的大写,例如“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);
}
}
我的思绪现在完全混乱了.好像我有很多重复的案例.你们认为我接近正确的解决方案吗?如何使基本情况下没有任何事情发生而不是打印出来?我该如何避免重复?任何人请帮助我,我会非常感激.