과제 #6

임성혁·2022년 8월 19일

자바 기초

목록 보기
27/32
import java.util.StringTokenizer;

public class Practice {
    public static void main(String[] args) {

        String date = "abcdefghijklmnopqrstuvwxyz";
        StringTokenizer st = new StringTokenizer(date, "aeiou", false);

        while (st.hasMoreTokens()) {
            System.out.print(st.nextToken());
        }
    }
}
import java.util.Random;
import java.util.StringTokenizer;

public class Test {

    public static void main(String[] args) {

        // 알파벳 String형 (오리지널 데이터)
        String alphabet = "abcdefghijklmnopqrstuvwxyz";
        // 알파벳 String 배열 (변환 데이터)
        String[] strAlphabet = new String[alphabet.length()];

        // String에서 String[]로 변환시키는 for문
        for (int i = 0; i < alphabet.length(); i++){
            strAlphabet[i] = String.valueOf(alphabet.charAt(i));
        }

// 알파벳 랜덤 나열을 위한 랜덤 인덱스 번호 배열
        int[] a = new int[alphabet.length()-1];
        Random r = new Random();
        for (int i = 0; i < alphabet.length()-1; i++){
            a[i] = r.nextInt(25)+1;
            for (int j = 0; j < i; j++){
                if (a[i] == a[j]){
                    i--;
                }
            }
        }

//      중복 거르기 위한 새로운 알파벳 String
        String newAlphabet = "";

        for (int i = 0; i < alphabet.length() - 1; i++){
            newAlphabet += strAlphabet[a[i]];
        }

        System.out.println(newAlphabet);

        // 모음 토크나이저
        StringTokenizer st = new StringTokenizer(newAlphabet, "aeiou", false);

        while (st.hasMoreTokens()) {
            System.out.print(st.nextToken());
        }
    }
}
import java.util.Random;
import java.util.StringTokenizer;

public class Practice {
    public static void main(String[] args) {

        // 기존 순서대로의 알파벳 String형
        String alphabet = "abcdefghijklmnopqrstuvwxyz";

        // 랜덤으로 나열한 알파벳 String형
        String newAlphabet = "";
        
        // 알파벳 중복 대입을 피하기 위한 임시 장소
        String temp = "";

        // 랜덤 난수
        Random r = new Random();

        // 
        for (int i = 0; i < 26; i++){
            // alphabet에서 랜덤으로 알파벳 하나를 가져와 newAlphabet에 저장
            newAlphabet += alphabet.charAt(r.nextInt(alphabet.length()));

            // 앞으로 newAlphabet에 같은 알파벳이 중복되어 들어가지 않도록 랜덤한 알파벳을
            // 뽑을 alphabet 자료에서 newAlphabet에 속한 알파벳을 제외시킨다
            StringTokenizer st = new StringTokenizer(alphabet, newAlphabet, false);

            // for문이 반복되면서 temp에 쌓일 이전 데이터 비우기
            temp = temp.replace(temp, "");

            // newAlphabet에 있는 알파벳은 제외한 나머지 알파벳들만 임시저장소인 temp에 저장
            while (st.hasMoreTokens()) {
                temp += st.nextToken();
            }

            // for문이 반복되면서 alphabet에 쌓일 이전 데이터 비우기
            alphabet = alphabet.replace(alphabet, "");
            
            // 임시 저장해놓았던 temp의 알파벳들을 다시 alphabet에 옮기기
            alphabet = temp;
        }

        // 랜덤 나열 알파벳
        System.out.println(newAlphabet);

        String collection = "aeiou";
        StringTokenizer st2 = new StringTokenizer(newAlphabet, collection);

        while (st2.hasMoreTokens()){
            System.out.print(st2.nextToken());
        }

    }
}
profile
열정

0개의 댓글