-2
교과서에 따르면 작가는 java에서 순열을 실현하는 특별한 방법을 사용하라고했습니다. 더 정확하게 말하면, 두 가지 기능이 존재합니다자바 순열 (재귀)에 대한 특별한 해결책은 무엇입니까?
단순히 다음 기능으로 저자의 관점에서displayPermutation("", String s);
를 호출한다
public void static displayPermutation(String s)
가 ----, 우리는 후 인 "S"에서 하나 개의 문자를 이동해야 쉼표를 재귀를 사용하여 첫 단계에있는 문자열로 옮깁니다.
그러나 나는 모든 노력을 실현 함에도 불구하고 코드가 작동하지 않는다고 생각합니다. 내 코드는 다음과 같습니다.
public static void displayPermuation(String s){
displayPermuation("", s);
}
public static void displayPermuation(String s1, String s2){
if(s2.length() == 0){
System.out.println(s1);
return;
}else{
for(int i = 0; i < s2.length(); i++){
s1 = String.format(s1 + "%s", s2.charAt(i));
s2 = String.format("%s%s", s2.substring(0, i), s2.substring(i + 1, s2.length()));
displayPermuation(s1, s2);
}
}
}
"작동하지 않음"이란 무엇을 의미합니까? 당신은 무엇을 기대하고 실제 결과는 무엇입니까? – Guy
for 루프의 첫 번째 반복 이후에,'s1'과's2' 문자열은 더 이상 당신이 가정하는 문자열이 아닙니다. – Henry