소개
Java 의 parseDouble() 메서드는 문자열 값을 해당 double 값으로 변환하는 데 사용됩니다. 이는 데이터 타입 변환과 관련하여 중요한 메서드입니다. 이 랩에서는 parseDouble() 메서드를 사용하는 방법과 문자열 값을 해당 double 값으로 변환하는 방법을 배우겠습니다.
Java 의 parseDouble() 메서드는 문자열 값을 해당 double 값으로 변환하는 데 사용됩니다. 이는 데이터 타입 변환과 관련하여 중요한 메서드입니다. 이 랩에서는 parseDouble() 메서드를 사용하는 방법과 문자열 값을 해당 double 값으로 변환하는 방법을 배우겠습니다.
Java 프로그램에서 parseDouble() 메서드의 다음 구문을 구현합니다.
public static double parseDouble(String s) throws NumberFormatException
이 단계에서는 parseDouble() 메서드를 사용하여 문자열 값을 해당 double 값으로 변환합니다.
코드 블록:
String str = "8.97";
double num = Double.parseDouble(str);
System.out.println("Double value of "+str+" is "+num);
다음과 같이 출력됩니다.
Double value of 8.97 is 8.97
위의 코드 블록에서 문자열 변수 str 을 생성하고 "8.97" 값을 초기화했습니다. 그런 다음 parseDouble() 메서드를 호출하여 문자열 변수를 인수로 전달하고 반환된 double 값을 double 변수 num 에 할당했습니다. 마지막으로 double 변수를 출력했습니다.
이 단계에서는 예기치 않은 문제를 방지하기 위해 NumberFormatException 을 포착합니다.
코드 블록:
try {
String str = "not a number"; // exception occurs here
double num = Double.parseDouble(str);
System.out.println("Double value of "+str+" is "+num);
} catch(NumberFormatException e) {
System.out.println("Error: "+e.getMessage()+" is not a valid double");
}
다음과 같이 출력됩니다.
Error: For input string: "not a number" is not a valid double
위의 코드 블록에서 Double.parseDouble() 메서드는 유효한 double 값이 아닌 문자열 "not a number"와 함께 호출됩니다. parseDouble() 메서드는 NumberFormatException 을 발생시키므로, 프로그램에서 발생할 수 있는 예외를 포착하기 위해 try-catch 블록을 사용했습니다.
이 단계에서는 Scanner 클래스를 사용하여 사용자 입력을 받고, parseDouble() 메서드를 사용하여 double 값으로 구문 분석합니다.
코드 블록:
Scanner input = new Scanner(System.in);
System.out.print("Enter a number: ");
String str = input.next();
double num = Double.parseDouble(str);
System.out.println("Double value of "+str+" is "+num);
다음과 같이 출력됩니다.
Enter a number: 9.56
Double value of 9.56 is 9.56
위의 코드 블록에서 사용자 입력을 받기 위해 Scanner 클래스의 인스턴스를 생성했습니다. next() 메서드를 사용하여 사용자 입력을 문자열 값으로 읽은 다음, parseDouble() 메서드에 전달하고 반환된 값을 double 변수 num 에 할당했습니다. 마지막으로 double 변수를 출력했습니다.
이 단계에서는 parseDouble() 메서드에 전달된 null 값을 처리합니다.
코드 블록:
String str = null;
try {
double num = Double.parseDouble(str); // exception occurs here
System.out.println(num);
} catch (NullPointerException e) {
System.out.println("Error: "+e.getMessage()+" - It's not possible to convert null to double value");
}
다음과 같이 출력됩니다.
Error: null - It's not possible to convert null to double value
위의 코드 블록에서 null 값을 문자열 변수 str 에 할당했습니다. 그런 다음 parseDouble() 메서드를 호출하고 null 값을 인수로 전달했는데, 이로 인해 NullPointerException 이 발생합니다. try-catch 블록을 사용하여 NullPointerException 을 포착하고 사용자 지정 메시지를 출력했습니다.
이 시점에서, 우리의 코드는 다음과 같아야 합니다:
import java.util.Scanner;
public class JavaDoubleParseDoubleMethod {
public static void main(String[] args) {
// Example 1
String str = "8.97";
double num = Double.parseDouble(str);
System.out.println("Double value of "+str+" is "+num);
// Example 2
try {
String str2 = "not a number";
double num2 = Double.parseDouble(str2);
System.out.println("Double value of "+str2+" is "+num2);
} catch(NumberFormatException e) {
System.out.println("Error: "+e.getMessage()+" is not a valid double");
}
// Example 3
Scanner input = new Scanner(System.in);
System.out.print("Enter a number: ");
String str3 = input.next();
double num3 = Double.parseDouble(str3);
System.out.println("Double value of "+str3+" is "+num3);
// Example 4
String str4 = null;
try {
double num4 = Double.parseDouble(str4);
System.out.println(num4);
} catch (NullPointerException e) {
System.out.println("Error: "+e.getMessage()+" - It's not possible to convert null to double value");
}
}
}
Java 프로그램을 컴파일하고 실행하려면 다음 명령을 실행하십시오.
cd ~/project
javac JavaDoubleParseDoubleMethod.java
java JavaDoubleParseDoubleMethod
이렇게 하면 Java 프로그램이 실행되고 다음과 같이 출력됩니다.
Double value of 8.97 is 8.97
Error: For input string: "not a number" is not a valid double
Enter a number: 9.56
Double value of 9.56 is 9.56
Error: null - It's not possible to convert null to double value
이 랩에서는 parseDouble() 메서드를 사용하여 문자열 값을 해당 double 값으로 변환하는 방법을 배웠습니다. 또한 예외를 처리하고 메서드에서 null 값을 처리하는 방법도 배웠습니다. 이 메서드는 Java 에서 문자열 값과 숫자 계산을 사용할 때 매우 유용합니다.