백준 10998번 A×B , 1008번 , 2741번 N 찍기, args, public static void main(String[] args) { 이란?
[ASAC 웹풀스택] 10998번 A×B
10998번 A×B
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int A = scanner.nextInt();
int B = scanner.nextInt();
System.out.println(A * B);
scanner.close();
}
}
[ASAC 웹풀스택] 1008번 A/B
1008번 A/B
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double A = scanner.nextDouble();
double B = scanner.nextDouble();
System.out.println(A / B);
scanner.close();
}
}
nextDouble
Scanner의 nextDouble 메서드를 사용하여 실수 입력을 받습니다. 그리고 A와 B의 나눗셈 결과를 출력합니다.
Java에서는 소숫점 아래 15자리까지만 정확하게 표현되며, 그 이후의 자릿수는 반올림됩니다. 따라서 위 코드에서는 최대 15자리까지만 정확한 값을 얻을 수 있습니다. 만약 더 많은 자릿수가 필요한 경우에는 BigDecimal 클래스 등을 사용해야 합니다만, 이 문제에서 요구하는 오차 범위 내에선 위 코드가 충분합니다.
[ASAC 웹풀스택] 2741번 N 찍기
2741번 N 찍기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
for (int i = 1; i <= N; i++) {
System.out.println(i);
}
scanner.close();
}
}
[ASAC 웹풀스택] 2741번 N 찍기 내림차순
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double A = scanner.nextDouble();
double B = scanner.nextDouble();
System.out.println(A / B);
scanner.close();
}
}
Java에서 sort.i와 같은 문법은 존재하지 않습니다. 위 코드에서 i는 반복문의 변수이며, 이를 직접적으로 정렬하는 것은 불가능합니다.
Java에서 정렬을 수행하려면, 보통 배열이나 리스트와 같은 컬렉션에 저장된 데이터를 대상으로 합니다. 그리고 이러한 데이터의 정렬에는 Arrays.sort()나 Collections.sort() 등의 메서드를 사용합니다.
위 코드에서 1부터 N까지 순차적으로 출력하는 부분을 내림차순으로 변경하고 싶다면, 다음과 같이 반복문을 수정해야 합니다:
[ASAC 웹풀스택] 자바에서 .strip(); 이란?
Java에서 `strip();` 메소드는 String 클래스의 메소드로, 문자열의 앞과 뒤에 있는 공백을 제거해주는 기능을 합니다.
이 메소드는 Java 11부터 추가되었습니다.
다음은 `strip();` 메소드를 사용하는 간단한 Java 코드 예제입니다.
```java
public class Main {
public static void main(String[] args) {
String str = " Hello, World! ";
System.out.println("Before strip: [" + str + "]");
String strippedStr = str.strip();
System.out.println("After strip: [" + strippedStr + "]");
}
}
```
이 코드를 실행하면 다음과 같은 결과를 볼 수 있습니다.
```
Before strip: [ Hello, World! ]
After strip: [Hello, World!]
```
위 예제에서 `strip();` 메소드는 문자열 `str`의 앞뒤 공백을 제거하여 새로운 문자열 `strippedStr`를 생성합니다. 그래서 출력 결과에서 "Before strip"과 "After strip" 사이에 차이를 볼 수 있습니다.
[ASAC 웹풀스택] args, public static void main(String[] args) { 이란?
`public static void main(String[] args)`는 Java 프로그램의 시작점(entry point)입니다.
`args`는 명령줄 인자(command-line arguments)를 받아들이는 String 배열입니다.
Java 프로그램을 실행할 때 인자를 전달하면,
이 인자들은 `args` 배열에 저장되어 프로그램에서 사용할 수 있습니다.
간단한 그림 설명:
```
+--------+ +-----------------+ +------------+
| 사용자 |------>| 명령줄 인자(args) |------>| main 메소드 |
+--------+ +-----------------+ +------------+
```
간단한 코드 예제와 코드 리뷰:
```java
public class Main {
public static void main(String[] args) {
// 1. 인자 개수 출력
System.out.println("Number of arguments: " + args.length);
// 2. 인자 출력
for (int i = 0; i < args.length; i++) {
System.out.println("Argument " + (i + 1) + ": " + args[i]);
}
}
}
```
코드 리뷰:
1. `System.out.println("Number of arguments: " + args.length);`: 명령줄에서 전달받은 인자의 개수(args 배열의 길이)를 출력합니다.
2. `for (int i = 0; i < args.length; i++) { ... }`: for 반복문을 사용하여 각 인자를 순서대로 출력합니다. 이 때, `args[i]`는 i번째 인자를 나타냅니다.
예를 들어, 이 프로그램을 다음과 같이 실행한다고 가정해 보겠습니다.
```
java Main Hello World
```
그러면 다음과 같은 출력 결과를 볼 수 있습니다.
```
Number of arguments: 2
Argument 1: Hello
Argument 2: World
```
위 예제에서 명령줄 인자 "Hello"와 "World"가 `args` 배열에 저장되고, 프로그램 내에서 이 인자들을 사용하여 출력하는 것을 확인할 수 있습니다.
public static void 이란?
Public static void은 이 함수가 public으로 선언되어 어디서든 호출 가능하며, 클래스 인스턴스 없이(static) 호출 가능하고 반환 값(void)이 없음을 나타냅니다. String[] text는 입력 파라미터로 문자열 배열을 받습니다.
public: 이 키워드가 붙은 메소드는 어디서든 호출 가능합니다. 다른 클래스에서도 접근이 가능합니다.
public class MyClass {
public void myPublicMethod() {
System.out.println("This is a public method.");
}
}
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.
}
}
'컴퓨터공부 > 알고리즘' 카테고리의 다른 글
트리의 구조와 그래프 이진트리에 대한 개념 (4) | 2023.09.09 |
---|---|
자바 알고리즘 문제1 : 암호해독!, public , private ,static ,void ,메소드 체이닝 (0) | 2023.09.06 |
알고리즘 함수와 해시함수의 차이, 해시테이블, 해시테이블 체이닝 (0) | 2023.09.06 |
알고리즘 공부 -트리편 (0) | 2023.09.06 |
댓글