2025/01: 29개의 글

[Java] 자바로 개인정보 숨김 처리하기

Posted by nkjok
2025. 1. 30. 08:49 낙서장[1]/91. Java
반응형

자바로 개인정보 숨김 처리하기

개인정보 숨김 처리 예제

package JavaApp.chap_03;

public class _Quiz_06 {

    public static String getHiddenData(String data, int index) {
        String hiddenData = data.substring(0, index);
        // for (int i = index; i < data.length(); i++) {
        for (int i = 0; i < data.length() - index; i++) {
            hiddenData += "*";
        }
        return hiddenData;
    }

    public static void main(String[] args) {

        String name = "이코드"; // 이름
        String id = "990123-1234567"; // 주민등록번호
        String phon = "010-1234-5678"; // 전화번호

        System.out.println("이름 : " + getHiddenData(name, 1));
        System.out.println("주민등록번호 : " + getHiddenData(id, 8));
        System.out.println("전화번호 : " + getHiddenData(phon, 9));

        System.out.println(getHiddenData(name, 1));

    }
}

코드 설명

위 예제 코드는 주어진 데이터에서 특정 인덱스 이후의 부분을 ''로 숨기는 방법을 보여준다. 예를 들어, 이름 "이코드"에서 첫 번째 문자 뒤에 남은 문자들을 ''로 숨기는 식으로 개인정보를 보호한다.

메서드 설명

  • getHiddenData(String data, int index) 메서드는 주어진 데이터 문자열에서 index 위치까지의 부분은 그대로 두고, 나머지 부분을 '*'로 대체하여 숨긴다.
    • 예를 들어, getHiddenData("이코드", 1)을 호출하면 "이**"를 반환한다.

결과 예시

이름 : 이**
주민등록번호 : 990123-1*******
전화번호 : 010-1234-*****

이와 같이 개인정보를 일부 숨겨서 출력할 수 있는 자바 코드를 통해 개인정보 보호 방법을 쉽게 이해할 수 있다.

출력결과

반응형

[Java] 자바 프로그램으로 제곱근 계산하기

Posted by nkjok
2025. 1. 29. 23:06 낙서장[1]/91. Java
반응형

자바 프로그램으로 제곱근 계산하기

1. 제곱근 계산 예제

package JavaApp.chap_03;

public class 제곱근 {

    // 주어진 숫자의 제곱근을 계산하는 메서드
    public static int getSquareRoot(int number, int exponent) {
        int result = 1;
        for (int i = 0; i < exponent; i++) {
            result *= number;
        }
        return result;
    }

    public static void main(String[] args) {
        // 2의 승수 계산
        for (int i = 0; i <= 10; i++) {
            System.out.println(getSquareRoot(2, i));
        }
        // 3의 승수 계산
        for (int i = 0; i <= 10; i++) {
            System.out.println(getSquareRoot(3, i));
        }
        // 4의 승수 계산
        for (int i = 0; i <= 10; i++) {
            System.out.println(getSquareRoot(4, i));
        }
    }
}

2. 코드 설명

위 예제는 숫자와 지수를 입력받아 제곱근을 계산하는 자바 코드를 보여준다:

  1. getSquareRoot(int number, int exponent): 주어진 숫자(number)와 지수(exponent)를 기반으로 제곱 값을 계산하는 메서드야. for 루프를 사용해 지수만큼 숫자를 곱해 결과를 반환한다.
  2. main(String[] args) 메서드:
    • 2의 승수 계산: for 루프를 사용해 0부터 10까지 2의 제곱값을 계산하고 출력한다.
    • 3의 승수 계산: for 루프를 사용해 0부터 10까지 3의 제곱값을 계산하고 출력한다.
    • 4의 승수 계산: for 루프를 사용해 0부터 10까지 4의 제곱값을 계산하고 출력한다.

이 결과로 각 숫자의 0승부터 10승까지의 값을 순차적으로 출력한다.

결과 예시

 
1
2
4
8
16
32
64
128
256
512
1024
1
3
9
27
81
243
729
2187
6561
19683
59049
1
4
16
64
256
1024
4096
16384
65536
262144
1048576

위와 같은 방식으로 각 숫자의 제곱근 결과를 확인할 수 있다. 자바에서의 제곱 계산 방법을 쉽게 이해할 수 있도록 구성된 예제다.

출력결과

반응형

[Java] 주민등록번호 앞자리 출력하기

Posted by nkjok
2025. 1. 29. 17:10 낙서장[1]/91. Java
반응형

자바로 주민등록번호 앞자리 출력하기

예제 소스 코드

  1. 주민등록번호 앞자리 출력하기:
    package JavaApp.chap_03;
    
    public class _Quiz_03 {
        public static void main(String[] args) {
            // 주민등록번호 예제 문자열
            String id = "199131-1234567";
            
            // '-' 기호를 기준으로 앞 자리와 뒷 자리를 나눠서 출력한다.
            System.out.println(id.substring(0, id.indexOf("-") + 2)); // 결과: 199131-1
        }
    }
    

코드 설명

위 예제 코드는 주어진 주민등록번호 문자열에서 '-' 기호로 앞 자리와 뒷 자리를 구분하며 앞 자리와 첫 번째 자리만 출력하는 방법이다. 여기서는 substring과 indexOf 메서드를 사용해 문자열을 처리한다.

  1. substring(int beginIndex, int endIndex):
    • 지정된 시작 인덱스부터 끝 인덱스 직전까지의 문자열을 반환한다.
  2. indexOf(String str):
    • 주어진 문자열에서 지정된 문자열이 처음으로 나타나는 위치의 인덱스를 반환한다.

이 예제는 주민등록번호의 앞자리와 성별을 나타내는 첫 번째 자리만 출력하는 기능을 제공한다.

출력결과

추가 예제

주민등록번호에서 YYYYMMDD 형식의 생년월일만 출력하고 싶다면 다음과 같이 쓸 수 있다:

public class _Quiz_03 {
    public static void main(String[] args) {
        String id = "199131-1234567";
        // 생년월일 (YYYYMMDD) 형식으로 출력한다.
        System.out.println(id.substring(0, id.indexOf("-"))); // 결과: 199131
    }
}

이 예제는 indexOf와 substring 메서드를 활용해 생년월일만을 추출하는 간단한 방법을 보여준다.

반응형

[Java] 자바의 이스케이프 시퀀스(Escape Sequence) 사용법

Posted by nkjok
2025. 1. 29. 15:29 낙서장[1]/91. Java
반응형

자바의 이스케이프 시퀀스(Escape Sequence) 사용법

이스케이프 시퀀스 예제

  1. 줄바꿈(\n)을 사용한다:
    package JavaApp.chap_03;
    
    public class EscapeSequenceExample {
        public static void main(String[] args) {
            // 줄바꿈 예제
            System.out.println("자바가\n너무\n재밌어요");
        }
    }
    
  2. 탭(\t)을 사용한다:
    public class EscapeSequenceExample {
        public static void main(String[] args) {
            // 탭 예제
            System.out.println("해물파전\t\t9000원");
            System.out.println("김치전\t\t8000원");
            System.out.println("부추전\t\t8000원");
        }
    }
    
  3. 역슬래시(\\)를 사용한다:
    public class EscapeSequenceExample {
        public static void main(String[] args) {
            // 역슬래시 예제
            System.out.println("C:\\Program Files\\Java");
        }
    }
    
  4. 큰따옴표(\")를 사용한다:
    public class EscapeSequenceExample {
        public static void main(String[] args) {
            // 큰따옴표 예제
            System.out.println("단비가 \"냐옹\"이라고 했어요");
        }
    }
    
  5. 작은따옴표(\')를 사용한다:
    public class EscapeSequenceExample {
        public static void main(String[] args) {
            // 작은따옴표 예제
            System.out.println("단비가 '뭘 봐?' 라는 표정을 지었어요");
            System.out.println("단비가 \'뭘 봐?\' 라는 표정을 지었어요");
    
            char c = 'A';
            c = '\'';
        }
    }
    

출력결과

반응형

[Java] 문자열 비교와 객체 생성 차이

Posted by nkjok
2025. 1. 29. 15:12 낙서장[1]/91. Java
반응형

문자열 비교와 객체 생성 차이(Java)

문자열 비교 예제

  1. 문자열을 비교한다:
    package JavaApp.chap_03;
    
    public class StringComparisonExample {
        public static void main(String[] args) {
            // 문자열 비교
            String s1 = "Java";
            String s2 = "Python";
    
            System.out.println(s1.equals(s2)); // 문자열 내용이 같으면 true, 다르면 false
            System.out.println(s1.equals("Java")); // true
            System.out.println(s2.equals("python")); // false
    
            // 대소문자 구분 없이 문자열 내용이 같은지 여부를 확인한다
            System.out.println(s2.equalsIgnoreCase("python")); // true
        }
    }
    
  2. 문자열 비교를 심화한다:
    public class StringDeepComparisonExample {
        public static void main(String[] args) {
            // 문자열 비교 심화
            String s1 = "1234"; // 벽에 붙은 메모지의 비밀번호 정보
            String s2 = "1234";
            System.out.println(s1.equals(s2)); // true
            System.out.println(s1 == s2); // true
    
            s1 = new String("1234");
            s2 = new String("1234");
            System.out.println(s1 == s2); // false
            System.out.println(s1.equals(s2)); // true
        }
    }
    

new String() 객체 생성 시 차이점

  • == 연산자는 두 객체가 동일한 메모리 주소를 참조하고 있는지를 비교한다. 예제에서 new String("1234")로 생성한 두 문자열은 서로 다른 메모리 주소를 참조하므로 == 비교에서는 false가 반환된다.
  • equals() 메서드는 두 문자열의 내용이 동일한지를 비교한다. 따라서 new String("1234")로 생성한 문자열이라도 내용이 같으면 equals() 비교에서는 true가 반환된다.

출력결과

반응형