본문 바로가기

cs/java

for문으로 키코드 찍기

public class MyClass {
    public static void main(String args[]) {
        String input = "test 01";
        		
        for(int i=0; i<input.length(); i++)
        {
        	System.out.println(input.charAt(i) + " : " + (int)input.charAt(i));
        }

    }
}

charAt을 int형으로 바꿔주면 각 글자에 해당하는 키코드를 하나씩 출력할 수 있다.

split 대신 charAt 과 subString 이용해서 글자 자르기

		String input = "HELLO WOLRD";
		
		System.out.println("문제 1 :");
		System.out.println("prefix : "+split(input)[0]+", subfix : "+split(input)[1]);
		System.out.println("--------------------------------------------------------");
        
        
        public static String[] split(String input){

		int index = 0;
		String split[] = new String[2];
				
		for(int i=0; i<input.length(); i++)
		{
			if((int)input.charAt(i) == 32)
			{
				index = i;
			}
		}
		
		String prefix = input.substring(0, index);
		String subfix = input.substring(index+1);
		
		split[0] = prefix;
		split[1] = subfix;
		
		return split;
		
	}

스페이스 바를 기준으로 단어를 자르는 메소드

 

 

홀수/ 짝수 판별

		System.out.println("문제 2 :");
		int arr[] = {10, 1, 3, 7, 6};
		
		evenOdd(arr);
		
		System.out.println();
		System.out.println("--------------------------------------------------------");


	public static void evenOdd(int arr[]){
		
		String answer[] = new String[5];
		
		System.out.print("[");

		for(int i=0; i<arr.length; i++)
		{
			if(arr[i]%2 == 0)
			{
				answer[i] = "even";
				
			}
			else answer[i] = "odd";
			
			if(i== arr.length -1)
			{
				System.out.print(arr[i]);
			}
			else
			System.out.print(arr[i]+", ");
			
		}
		System.out.print("]");
	}

버블정렬

	private static int[] bubble_sort(int[] a, int size) {
		
		// round는 배열 크기 - 1 만큼 진행됨 
		for(int i = 1; i < size; i++) {
        
			boolean swapped = false;	
			
			// 각 라운드별 비교횟수는 배열 크기의 현재 라운드를 뺀 만큼 비교함
			for(int j = 0; j < size - i; j++) {
				
				/*
				 *  현재 원소가 다음 원소보다 클 경우
				 *  서로 원소의 위치를 교환하고
				 *  비교수행을 했다는 표시로 swapped 변수를 true로 변경한다.
				 */
				if(a[j] > a [j + 1]) {
					swap(a, j, j + 1);
					swapped = true;
				}
			}
            
			/*
			 * 만약 swap된적이 없다면 이미 정렬되었다는 의미이므로
			 * 반복문을 종료한다. 
			 */
			if(swapped == false) {
				break;
			}
		}
		return a;
	}
	
	private static void swap(int[] a, int i, int j) {
		int temp = a[i];
		a[i] = a[j];
		a[j] = temp;
	}

 Split으로 특수문자 제거 후 정렬

		System.out.println("문제 4 :");
		
		String inStr = "A,P,P,L,E";
		split2(inStr);
		System.out.println();
		System.out.println("--------------------------------------------------------");
        
        
	public static void split2(String a){
		
        
        String[] strArray = a.split(",");
        
        
        Arrays.sort(strArray);
        
        StringBuilder result = new StringBuilder();
        
        for (String str : strArray) {
            result.append(str);
        }
        
        System.out.println(result.toString());
	}

 

 

 

System.currentTimeMillis()를 날짜형식으로 전환하기

		System.out.println("문제 5 :");
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
		System.out.println(simpleDateFormat.format(System.currentTimeMillis())); 
		System.out.println();
		System.out.println("--------------------------------------------------------");

MM만 대문자, 소문자로 하면 값 이상하게 나옴