Введение
Метод Java parseDouble() используется для преобразования строковых значений в их эквивалентные значения типа double. Это важный метод при преобразовании типов данных. В этом практическом занятии мы узнаем, как использовать метод parseDouble() и как он преобразует строковое значение в его эквивалентное значение типа double.
Реализовать синтаксис метода parseDouble()
Реализуйте следующий синтаксис метода parseDouble() в вашей программе на Java:
public static double parseDouble(String s) throws NumberFormatException
Использовать метод parseDouble() для преобразования строкового значения в значение типа double
В этом шаге мы преобразуем строковое значение в его эквивалентное значение типа double с использованием метода parseDouble().
Блок кода:
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 типа String и инициализировали ее значением "8.97". Затем мы вызвали метод parseDouble(), передав переменную строкового типа в качестве аргумента, и присвоили возвращаемое значение типа double переменной num типа double. Наконец, мы вывели переменную num типа double.
Обработка возможного исключения NumberFormatException
В этом шаге мы будем ловить исключение NumberFormatException, чтобы избежать неожиданных проблем.
Блок кода:
try {
String str = "not a number"; // здесь возникает исключение
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() вызывается с строкой "not a number", которая не является допустимым значением типа double. Поскольку метод parseDouble() выбрасывает исключение NumberFormatException, мы использовали блок try-catch для перехвата любых исключений, которые могут возникнуть в программе.
Прием ввода от пользователя
В этом шаге мы будем получать ввод от пользователя с использованием класса Scanner и преобразовывать его в значение типа double с использованием метода parseDouble().
Блок кода:
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() и присвоили возвращаемое значение переменной num типа double. Наконец, мы вывели переменную num типа double.
Обработка значений null
В этом шаге мы будем обрабатывать значения null, передаваемые методу parseDouble().
Блок кода:
String str = null;
try {
double num = Double.parseDouble(str); // здесь возникает исключение
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 типа String. Затем мы вызвали метод parseDouble() и передали значение null в качестве аргумента, что вызывает исключение NullPointerException. Мы использовали блок try-catch для перехвата исключения NullPointerException и вывели пользовательское сообщение.
Проверьте весь код
На этом этапе наш код должен выглядеть так:
import java.util.Scanner;
public class JavaDoubleParseDoubleMethod {
public static void main(String[] args) {
// Пример 1
String str = "8.97";
double num = Double.parseDouble(str);
System.out.println("Double value of "+str+" is "+num);
// Пример 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");
}
// Пример 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);
// Пример 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-программу
Для компиляции и запуска 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.



