자바 알고리즘 문제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번째 텍스트에서 모든 공백(문자 사이와 앞뒤 포함)를 제거한 후 그 결과를 정수형으로 변환하는 작업입니다.
'컴퓨터공부 > 알고리즘' 카테고리의 다른 글
인텔리제이 one dark 색상별 기능 , 메소드 , 매개변수 , 백준 11720번, nextint() , next() (0) | 2023.09.10 |
---|---|
트리의 구조와 그래프 이진트리에 대한 개념 (4) | 2023.09.09 |
백준 10998번 A×B , 1008번 , 2741번 N 찍기, args, public static void main(String[] args) { 이란? (0) | 2023.09.06 |
알고리즘 함수와 해시함수의 차이, 해시테이블, 해시테이블 체이닝 (0) | 2023.09.06 |
댓글