소개
parseLong(String s) 메서드는 Java 의 Long 클래스에 있는 정적 메서드입니다. 이 메서드는 문자열 값을 부호 있는 10 진수 long 값으로 변환하는 데 사용됩니다. 이 랩에서는 이 메서드를 사용하여 문자열 값을 long 값으로 변환하는 방법을 배우게 됩니다.
parseLong(String s) 메서드는 Java 의 Long 클래스에 있는 정적 메서드입니다. 이 메서드는 문자열 값을 부호 있는 10 진수 long 값으로 변환하는 데 사용됩니다. 이 랩에서는 이 메서드를 사용하여 문자열 값을 long 값으로 변환하는 방법을 배우게 됩니다.
LongParseLong이라는 이름의 클래스를 생성합니다.
public class LongParseLong {
}
LongParseLong 클래스 내부에 main 메서드를 선언합니다.
public class LongParseLong {
public static void main(String[] args) {
}
}
main 메서드 내에서 parseLong 메서드를 사용하여 문자열 값을 long 값으로 변환합니다.
public class LongParseLong {
public static void main(String[] args) {
String str = "123";
long num = Long.parseLong(str);
System.out.println("The string value " + str + " is converted to the long value " + num);
}
}
위 코드에서 parseLong 메서드는 문자열 "123"을 long 값 123으로 변환하는 데 사용됩니다. 변수 num은 변환된 long 값을 저장하며, 이 값은 콘솔에 출력됩니다.
try-catch 블록을 사용하여 유효하지 않은 입력을 처리합니다.
public class LongParseLong {
public static void main(String[] args) {
String str = "abc";
try {
long num = Long.parseLong(str);
System.out.println("The string value " + str + " is converted to the long value " + num);
} catch (NumberFormatException e) {
System.out.println("Invalid input: " + str + " cannot be converted to a long");
}
}
}
위 코드에서 문자열 "abc"는 long 값으로 변환될 수 없으므로 parseLong 메서드에 대한 유효한 입력이 아닙니다. 따라서 NumberFormatException이 발생합니다. 이 예외는 catch 블록에 의해 잡히며, 콘솔에 오류 메시지를 출력합니다.
parseLong 메서드를 사용하여 음수 문자열 값을 long 값으로 변환합니다.
public class LongParseLong {
public static void main(String[] args) {
String str = "-123";
try {
long num = Long.parseLong(str);
System.out.println("The string value " + str + " is converted to the long value " + num);
} catch (NumberFormatException e) {
System.out.println("Invalid input: " + str + " cannot be converted to a long");
}
}
}
위 코드에서 문자열 "-123"은 음수 값이며 parseLong 메서드를 사용하여 long 값으로 변환할 수 있습니다. 결과 long 값 -123이 콘솔에 출력됩니다.
Scanner 객체를 사용하여 사용자 입력을 받고 이를 long 값으로 변환합니다.
import java.util.Scanner;
public class LongParseLong {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a string to convert to a long: ");
String str = scanner.nextLine();
try {
long num = Long.parseLong(str);
System.out.println("The string value " + str + " is converted to the long value " + num);
} catch (NumberFormatException e) {
System.out.println("Invalid input: " + str + " cannot be converted to a long");
}
}
}
위 코드에서 Scanner 객체가 생성되어 nextLine 메서드를 사용하여 콘솔에서 사용자 입력을 받습니다. 그런 다음 입력 문자열이 parseLong 메서드로 전달되어 long 값으로 변환되고, 이 값은 콘솔에 출력됩니다.
parseLong 메서드를 사용하여 16 진수 문자열 값을 long 값으로 변환합니다.
public class LongParseLong {
public static void main(String[] args) {
String str = "0x7fffffff";
try {
long num = Long.parseLong(str, 16);
System.out.println("The hexadecimal string value " + str + " is converted to the long value " + num);
} catch (NumberFormatException e) {
System.out.println("Invalid input: " + str + " cannot be converted to a long");
}
}
}
위 코드에서 parseLong 메서드는 16 진수 문자열 “0x7fffffff”를 long 값으로 변환하는 데 사용됩니다. parseLong 메서드의 두 번째 매개변수는 기수 (radix) 를 지정하며, 16 진수 값의 경우 16입니다. 결과 long 값 2147483647이 콘솔에 출력됩니다.
parseLong 메서드를 사용하여 2 진수 문자열 값을 long 값으로 변환합니다.
public class LongParseLong {
public static void main(String[] args) {
String str = "1111111111111111111111111111111";
try {
long num = Long.parseLong(str, 2);
System.out.println("The binary string value " + str + " is converted to the long value " + num);
} catch (NumberFormatException e) {
System.out.println("Invalid input: " + str + " cannot be converted to a long");
}
}
}
위 코드에서 parseLong 메서드는 2 진수 문자열 "1111111111111111111111111111111"를 long 값으로 변환하는 데 사용됩니다. parseLong 메서드의 두 번째 매개변수는 기수 (radix) 를 지정하며, 2 진수 값의 경우 2입니다. 결과 long 값 4294967295가 콘솔에 출력됩니다.
parseLong 메서드를 사용하여 타입 지시자가 있는 문자열을 long 값으로 변환합니다.
public class LongParseLong {
public static void main(String[] args) {
String str = "123L";
try {
long num = Long.parseLong(str);
System.out.println("The string value " + str + " is converted to the long value " + num);
} catch (NumberFormatException e) {
System.out.println("Invalid input: " + str + " cannot be converted to a long");
}
}
}
위 코드에서 문자열 "123L"은 long 값에 대한 타입 지시자를 포함하고 있습니다. 하지만 parseLong 메서드는 부호 있는 10 진수 값만 허용하며, 타입 지시자를 만나면 NumberFormatException을 발생시킵니다. 따라서 catch 블록이 실행되고 오류 메시지가 콘솔에 출력됩니다.
축하합니다! Java Long parseLong (String S) 메서드 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.