JAVA/풀어봅시다 (eclipse)
[JAVA] 사용 가능한 변수 이름은?
샛별KIM
2021. 5. 28. 17:17
import java.util.Arrays;
import java.util.Scanner;
//사용자가 입력 "가나다abc12@#$" --->abc12
//자바가 사용할 수 있는 변수로 변경하기
//영어 대문자, 소문자, 숫자, _, &
public class EnableString {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("사용할 문장을 입력하세요.");
String sInput = sc.next();
System.out.println("사용 가능한 문자는 : " + camel(sInput));
sc.close();
}
public static String camel(String str) {
String result = "";
String nope = "";
char[] temp = str.toCharArray();
//받은 input값을 임의로 저장
for (int i = 0; i < temp.length; i++) {
if (Character.isDigit(temp[i])) {
System.out.println("숫자로 시작할 수 없습니다.");
temp[i] = '@'; //0~문자 까지가 숫자면 @로 변경
} else {
break;
}
}
System.out.println(Arrays.toString(temp));
String sInput = new String(temp);
//숫자시작을 뺀 배열을 string으로 저장
for (int i = 0; i < sInput.length(); i++) {
if (Character.isUpperCase(sInput.charAt(i)) || Character.isLowerCase(sInput.charAt(i))
|| Character.isDigit(sInput.charAt(i))) {
result += sInput.charAt(i);
} else if (sInput.charAt(i) == '_' || sInput.charAt(i) == '&') {
result += sInput.charAt(i);
} else {
nope += sInput.charAt(i);
}
}
if (!nope.equals("")) {
System.out.println("다음 문자는 사용할 수 없습니다 : " + nope);
}
return result;
}
}
//////출력
사용할 문장을 입력하세요.
(123Hi~&Hello!!나는해뽀이3) //입력
숫자로 시작할 수 없습니다.
숫자로 시작할 수 없습니다.
숫자로 시작할 수 없습니다.
[@, @, @, H, i, ~, &, H, e, l, l, o, !, !, 나, 는, 해, 뽀, 이, 3]
다음 문자는 사용할 수 없습니다 : @@@~!!나는해뽀이
사용 가능한 문자는 : Hi&Hello3