Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để kiểm tra xem một chuỗi có thể phân tích cú pháp thành một chuỗi kép trong java?

Sử dụng phương thức parseDouble ()

parseDouble () phương thức của java.lang.Double lớp chấp nhận một giá trị Chuỗi, phân tích cú pháp nó và trả về giá trị kép của chuỗi đã cho.

Nếu bạn chuyển một giá trị null cho phương thức này, nó sẽ ném một NullPointerException và nếu phương thức này không thể phân tích cú pháp chuỗi đã cho thành một giá trị kép cho bạn, nó sẽ ném một NumberFormatException.

Do đó, để biết liệu một chuỗi cụ thể có thể phân tích cú pháp để nhân đôi hay không, hãy chuyển nó tới phương thức parseDouble và bọc dòng này bằng khối try-catch. Nếu một ngoại lệ xảy ra, điều này cho thấy rằng Chuỗi đã cho không thể phân tích cú pháp.

Ví dụ

import java.util.Scanner;
public class ParsableToDouble {
   public static void main(String args[]) {
      try {
         Scanner sc = new Scanner(System.in);
         System.out.println("Enter a string value: ");
         String str = sc.next();
         Double doub = Double.parseDouble(str);
         System.out.println("Value of the variable: "+doub);
      }catch (NumberFormatException ex) {
         System.out.println("Given String is not parsable to double");
      }
   }
}

Đầu ra

Enter a string value:
2245g
Given String is not parsable to double

Sử dụng phương thức valueOf ()

Tương tự, valueOf () phương thức của lớp Double (cũng) chấp nhận giá trị Chuỗi làm tham số, cắt bớt các khoảng trống thừa và trả về giá trị kép được đại diện bởi chuỗi. Nếu giá trị đã cho không thể phân tích cú pháp để nhân đôi, phương pháp này sẽ ném ra một NumberFormatException.

Ví dụ

import java.util.Scanner;
public class ParsableToDouble {
   public static void main(String args[]) {
      try {
         Scanner sc = new Scanner(System.in);
         System.out.println("Enter a string value: ");
         String str = sc.next();
         Double doub = Double.valueOf(str);
         System.out.println("Value of the variable: "+doub);
      }catch (NumberFormatException ex) {
         System.out.println("Given String is not parsable to double");
      }
   }
}

Đầu ra

Enter a string value:
2245g
Given String is not parsable to double

Sử dụng hàm tạo của lớp Double

Một trong những phương thức khởi tạo của lớp Double chấp nhận một String làm tham số và tạo một đối tượng (Double) bao bọc giá trị đã cho. Nếu chuỗi được truyền đến hàm tạo này không thể phân tích cú pháp để Double, thì một NumberFormatException sẽ được ném.

Ví dụ

import java.util.Scanner;
public class ParsableToDouble {
   public static void main(String args[]) {
      try {
         Scanner sc = new Scanner(System.in);
         System.out.println("Enter a string value: ");
         String str = sc.next();
         Double doub = new Double(str);
         System.out.println("Value of the variable: "+doub);
      }catch (NumberFormatException ex) {
         System.out.println("Given String is not parsable to double");
      }
   }
}

Đầu ra

Enter a string value:
2245g
Given String is not parsable to double