자바 알고리즘 문제1 : 암호해독!, public , private ,static ,void ,메소드 체이닝
본문 바로가기

컴퓨터공부/알고리즘

자바 알고리즘 문제1 : 암호해독!, public , private ,static ,void ,메소드 체이닝

by Life & study 2023. 9. 6.
반응형

자바 알고리즘 문제1 : 암호해독!, public , private ,static ,void ,메소드 체이닝

 

 

public

 

public: 이 키워드가 붙은 메소드는 어디서든 호출 가능합니다. 다른 클래스에서도 접근이 가능합니다.

 

public class MyClass {
    public void myPublicMethod() {
        System.out.println("This is a public method.");
    }
}

 

 

private


private: 이 키워드가 붙은 메소드는 같은 클래스 내부에서만 호출할 수 있습니다.

public class MyClass {
    private void myPrivateMethod() {
        System.out.println("This is a private method.");
    }
}

 

 

 

static: 


이 키워드가 붙은 메소드는 객체를 생성하지 않고 클래스 이름으로 직접 호출할 수 있습니다.

public class MyClass {
    public static void myStaticMethod() {
        System.out.println("This is a static method.");
    }

    public static void main(String[] args) {
        // Without creating an object of the class, we can call the static method.
        MyClass.myStaticMethod();
    }
}

 

 

void: 



이 키워드는 메소드가 값을 반환하지 않음을 나타냅니다.

public class MyClass {
    public static void sayHello() { // This method doesn't return anything.
        System.out.println("Hello, world!");
    }

    public static void main(String[] args) {
        sayHello(); // Call the sayHello method.
     }
}

 

 

radix 란 무엇인가?

 

radix 란 무엇인가?

이 메소드는 주어진 문자열을 특정 진법(radix)을 기준으로 정수로 변환합니다. 기본적으로 10진수 문자열을 정수로 변환합니다. 하지만 원하는 경우 다른 진법의 문자열도 정수로 변환할 수 있습니다.

 

1. `Integer.parseInt(String s)`: 10진수 문자열 `s`를 정수로 변환합니다.

2. `Integer.parseInt(String s, int radix)`: 주어진 진법 `radix`를 기준으로 문자열 `s`를 정수로 변환합니다.

간단한 자바 예제:

```java

public class Main {

public static void main(String[] args) {

// 10진수 문자열을 정수로 변환하는 예제

String decimalString = "42";

int decimalNumber = Integer.parseInt(decimalString);

System.out.println("Decimal number: " + decimalNumber); // 출력: Decimal number: 42

// 2진수 문자열을 정수로 변환하는 예제

String binaryString = "101010";

int binaryNumber = Integer.parseInt(binaryString, 2);

System.out.println("Binary number: " + binaryNumber); // 출력: Binary number: 42

}

}

```

 


위 코드에서는 먼저 10진수 문자열 "42"를 정수 42로 변환한 후 출력합니다. 그 다음에는 2진수 문자열 "101010"를 정수 42로 변환한 후 출력합니다. 이렇게 `Integer.parseInt` 메소드를 사용하여 다양한 진법의 문자열을 정수로 변환할 수 있습니다.

 

 

 

Integer.parseInt(text[i].strip().replace(" ", "")) 이 코드는 여러 문자열 메소드를 연결하여 사용하는 것을 보여주고 있습니다. 이를 메소드 체이닝(method chaining)이라고 합니다

 

public class Main {
    public static void main(String[] args) {
        String text = " 123 ";
        text = text.strip(); // "123"
        System.out.println(text);

        text = "1 2 3";
        text = text.replace(" ", ""); // "123"
        System.out.println(text);

        String numberStr = "123";
        int number = Integer.parseInt(numberStr); // 123
        System.out.println(number);
    }
}

 

Integer.parseInt(text[i].strip().replace(" ", "")) 이 코드는 여러 문자열 메소드를 연결하여 사용하는 것을 보여주고 있습니다. 이를 메소드 체이닝(method chaining)이라고 합니다. 각 메소드의 기능은 다음과 같습니다:

text[i].strip(): strip() 메소드는 문자열 앞뒤의 공백을 제거합니다.
.replace(" ", ""): replace() 메소드는 첫 번째 인자로 받은 문자열을 두 번째 인자로 받은 문자열로 대체합니다. 여기서는 모든 공백(" ")을 없애기 위해 빈 문자열("")로 대체하고 있습니다.
Integer.parseInt(): 이 메소드는 문자열을 정수형으로 변환합니다.

 

위 코드에서, 첫 번째 부분은 " 123 "에서 양쪽 공백을 제거하며, 두 번째 부분은 "1 2 3"에서 모든 공백을 제거하며, 세 번째 부분은 "123"이라는 숫자 형태의 문자열을 정수형으로 변환하는 것입니다.

따라서 원래 코드인 Integer.parseInt(text[i].strip().replace(" ", ""))는 i번째 텍스트에서 모든 공백(문자 사이와 앞뒤 포함)를 제거한 후 그 결과를 정수형으로 변환하는 작업입니다.

 

 

반응형

댓글