To jest pytanie na temat zadania, które otrzymałem ze szkoły. Pytanie brzmi: napisz metodę o nazwie capitalizer, która pobierze ciąg "ownage", a następnie wyświetli (nie musi zwracać) wszystkie możliwe kapitalizacje, takie jak "OwNaGE" lub "OWNAGE". Nie musi działać dla każdego ciągu, wystarczy słowo "ownage" i musi zostać wykonane z rekursją.Podstawowa rekursja
Oto, co mam do tej pory.
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);
}
}
Mój umysł jest teraz całkowicie sponiewierany. Wygląda na to, że mam wiele powtarzających się przypadków. Czy uważasz, że jestem blisko właściwego rozwiązania? Jak zrobić to, aby nic się nie działo w podstawowym przypadku, zamiast drukować coś? Jak uniknąć powtórzeń? Niech ktoś mi pomoże, doceniłbym to bardzo.
Ta strona nie jest właściwym miejscem dla tego rodzaju pytania. Wypróbuj witrynę z recenzowaniem kodu. – bmargulies
@bmargulies: Nie zgadzam się. CodeReview to "Podaj swoją opinię na temat mojego kodu". To pytanie brzmi: "Mam problem, to jest to, co próbowałem, ale to się nie udało - jak mogę to sprawić?" który jest prawidłowym pytaniem SO. – amit
Nie, op nigdy nie mówi, że on lub ona zawiodła, lub że coś jest nie tak, tylko że uważają kod za brzydki. – bmargulies