Java Double parseDouble-Methode

JavaJavaBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Die Java-Methode parseDouble() wird verwendet, um Zeichenfolgenwerte in ihre äquivalenten double-Werte umzuwandeln. Dies ist eine wichtige Methode, wenn es um die Umwandlung von Datentypen geht. In diesem Lab werden wir lernen, wie die Methode parseDouble() verwendet wird und wie sie einen Zeichenfolgenwert in seinen äquivalenten double-Wert umwandelt.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/ProgrammingTechniquesGroup(["Programming Techniques"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/BasicSyntaxGroup -.-> java/output("Output") java/BasicSyntaxGroup -.-> java/type_casting("Type Casting") java/StringManipulationGroup -.-> java/strings("Strings") java/ProgrammingTechniquesGroup -.-> java/method_overloading("Method Overloading") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/exceptions("Exceptions") java/FileandIOManagementGroup -.-> java/io("IO") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/output -.-> lab-117627{{"Java Double parseDouble-Methode"}} java/type_casting -.-> lab-117627{{"Java Double parseDouble-Methode"}} java/strings -.-> lab-117627{{"Java Double parseDouble-Methode"}} java/method_overloading -.-> lab-117627{{"Java Double parseDouble-Methode"}} java/user_input -.-> lab-117627{{"Java Double parseDouble-Methode"}} java/exceptions -.-> lab-117627{{"Java Double parseDouble-Methode"}} java/io -.-> lab-117627{{"Java Double parseDouble-Methode"}} java/string_methods -.-> lab-117627{{"Java Double parseDouble-Methode"}} end

Implementieren der Syntax der parseDouble()-Methode

Implementieren Sie die folgende Syntax der parseDouble()-Methode in Ihrem Java-Programm:

public static double parseDouble(String s) throws NumberFormatException

Verwenden der parseDouble()-Methode, um einen Zeichenfolgenwert in einen double-Wert umzuwandeln

In diesem Schritt werden wir einen Zeichenfolgenwert in seinen äquivalenten double-Wert mit der parseDouble()-Methode umwandeln.

Codeblock:

String str = "8.97";
double num = Double.parseDouble(str);
System.out.println("Double value of "+str+" is "+num);

Dies wird folgendes ausgeben:

Double value of 8.97 is 8.97

Im obigen Codeblock haben wir eine Zeichenfolgenvariable str erstellt und sie mit dem Wert "8.97" initialisiert. Anschließend haben wir die parseDouble()-Methode aufgerufen, wobei die Zeichenfolgenvariable als Argument übergeben wurde, und den zurückgegebenen double-Wert der double-Variable num zugewiesen. Schließlich haben wir die double-Variable ausgegeben.

Fangen der möglichen NumberFormatException

In diesem Schritt werden wir die NumberFormatException fangen, um unerwartete Probleme zu vermeiden.

Codeblock:

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");
}

Dies wird folgendes ausgeben:

Error: For input string: "not a number" is not a valid double

Im obigen Codeblock wird die Double.parseDouble()-Methode mit einem String "not a number" aufgerufen, der kein gültiger double-Wert ist. Da die parseDouble()-Methode eine NumberFormatException wirft, haben wir einen try-catch-Block verwendet, um alle Ausnahmen zu fangen, die im Programm auftreten könnten.

Akzeptieren von Benutzereingaben

In diesem Schritt werden wir Benutzereingaben mit der Scanner-Klasse akzeptieren und sie mit der parseDouble()-Methode in einen double-Wert umwandeln.

Codeblock:

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);

Dies wird folgendes ausgeben:

Enter a number: 9.56
Double value of 9.56 is 9.56

Im obigen Codeblock haben wir eine Instanz der Scanner-Klasse erstellt, um Benutzereingaben zu akzeptieren. Wir haben die next()-Methode verwendet, um die Benutzereingabe als Zeichenfolgenwert zu lesen, dann haben wir sie der parseDouble()-Methode übergeben und den zurückgegebenen Wert der double-Variable num zugewiesen. Schließlich haben wir die double-Variable ausgegeben.

Behandlung von NULL-Werten

In diesem Schritt werden wir die NULL-Werte behandeln, die an die parseDouble()-Methode übergeben werden.

Codeblock:

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");
}

Dies wird folgendes ausgeben:

Error: null - It's not possible to convert null to double value

Im obigen Codeblock haben wir einem Zeichenfolgenvariablen str einen NULL-Wert zugewiesen. Anschließend haben wir die parseDouble()-Methode aufgerufen und den NULL-Wert als Argument übergeben, was eine NullPointerException wirft. Wir haben einen try-catch-Block verwendet, um die NullPointerException zu fangen und eine benutzerdefinierte Nachricht auszugeben.

Überprüfen des gesamten Codes

Zu diesem Zeitpunkt sollte unser Code wie folgt aussehen:

import java.util.Scanner;

public class JavaDoubleParseDoubleMethod {
   public static void main(String[] args) {
      // Beispiel 1
      String str = "8.97";
      double num = Double.parseDouble(str);
      System.out.println("Double value of "+str+" is "+num);

      // Beispiel 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");
      }

      // Beispiel 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);

      // Beispiel 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");
      }
   }
}

Kompilieren und Ausführen des Java-Programms

Um das Java-Programm zu kompilieren und auszuführen, führen Sie die folgenden Befehle aus:

cd ~/project
javac JavaDoubleParseDoubleMethod.java
java JavaDoubleParseDoubleMethod

Dies führt das Java-Programm aus und gibt Folgendes aus:

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

Zusammenfassung

In diesem Lab haben wir gelernt, wie man die parseDouble()-Methode verwendet, um Zeichenfolgenwerte in ihre entsprechenden double-Werte umzuwandeln. Wir haben auch gelernt, wie man Ausnahmen behandelt und NULL-Werte in der Methode behandelt. Diese Methode ist sehr nützlich, wenn man mit Zeichenfolgenwerten und numerischen Berechnungen in Java arbeitet.