import java.util.*;
public class zero_nine {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("숫자를 입력하세요 =");
String String_numbers = sc.nextLine(); //스트링
char [] char_numbers = String_numbers.toCharArray();
Arrays.sort(char_numbers);
String blank="";
for(char i : char_numbers){blank += Character.toString(i);}
String standard="0123456789";
if (blank == standard){System.out.println("True");}
else{System.out.println("False");}
}
}
0~9까지의 문자로 된 숫자를 입력 받았을 때, 이 입력 값이 0~9까지의 숫자가 각각 한 번 씩만 사용된 것인지 확인하는 함수를 구하는 프로그래밍입니다.
이때 위의 코딩에서 0123456789 를 입력값으로 줄시,
String blank = "0123456789" 가 되는데, 왜 String standard와 String blank가 다르다고 인식될까요?
초보의 짐작으로는 참조하는 주소값이 달라서 그런거 같은데,, 알고리즘은 위와 같은 상태를 유지한채료 코딩값이 True가 나오게 하려면 어떻게 해야하나요?
파이썬하다 자바로 넘어오니까 헷갈리네요 ㅠ