class StringSort{
String liter[];
String cnt;
public StringSort(String first, String second, String third){
String ss[] = {first, second, third};
liter = new String[ss.length];
liter = ss;
}
public void sorting(){
for(int k=0; k<liter.length; k++){
for(int i=0; i<liter.length-1; i++){
if(liter[i].compareTo(liter[i+1]) > 0){
cnt = liter[i];
liter[i] = liter[i+1];
liter[i+1] = cnt;
}else{}
}
}
}
public void show(){
System.out.println(\"The inputs in sorted order are:\");
for(int k = 0; k < liter.length; k++){
System.out.println(liter[k]);
}
}
}
이 코드 생성자 부분에서 왜 ss배열을 만들어서 받아야 할까요?
처음에 제가 할때는 바로 liter라는 배열로 받았는데 실행이 안되서
인터넷에서 뒤지다가 발견했는데 이해가 잘 안가네요
선언한 배열을 바로 받겠다는건데 왜 그런거죠
String liter[];
String cnt;
public StringSort(String first, String second, String third){
String ss[] = {first, second, third};
liter = new String[ss.length];
liter = ss;
}
public void sorting(){
for(int k=0; k<liter.length; k++){
for(int i=0; i<liter.length-1; i++){
if(liter[i].compareTo(liter[i+1]) > 0){
cnt = liter[i];
liter[i] = liter[i+1];
liter[i+1] = cnt;
}else{}
}
}
}
public void show(){
System.out.println(\"The inputs in sorted order are:\");
for(int k = 0; k < liter.length; k++){
System.out.println(liter[k]);
}
}
}
이 코드 생성자 부분에서 왜 ss배열을 만들어서 받아야 할까요?
처음에 제가 할때는 바로 liter라는 배열로 받았는데 실행이 안되서
인터넷에서 뒤지다가 발견했는데 이해가 잘 안가네요
선언한 배열을 바로 받겠다는건데 왜 그런거죠
코드는 사전식정렬하는 겁니다
liter가 처음에 메모리 할당이 안되어있어서 그런거 아닌가? 처음 선언할때 String liter[3]로 하면 되지 않을까? ㅎ