Jadual Kandungan
Tatabahasa
Arahan tatabahasa
Kaedah 4
Algoritma
Contoh
Output
Penjelasan
示例
输出
Explanation
解释
结论
Rumah Java javaTutorial Cari jenis data input pengguna menggunakan ungkapan biasa dalam Java

Cari jenis data input pengguna menggunakan ungkapan biasa dalam Java

Sep 14, 2023 pm 10:33 PM
jenis data ungkapan biasa java input pengguna

Cari jenis data input pengguna menggunakan ungkapan biasa dalam Java

Dalam pengaturcaraan Java, menentukan jenis maklumat yang dimasukkan oleh pelanggan boleh menjadi tugas biasa, terutamanya apabila membuat aplikasi yang memerlukan kelulusan atau pemprosesan maklumat. Ungkapan biasa atau ungkapan biasa ialah alat yang berkesan untuk mengenal pasti reka bentuk rentetan dan mengira kategori maklumat. Artikel ini mengkaji pendekatan unik untuk menggunakan ungkapan standard dalam Java untuk mencari jenis maklumat yang dimasukkan oleh klien.

Tatabahasa

Struktur bahasa ungkapan biasa dalam Java adalah berdasarkan pakej java.util.regex. Ia menyediakan kelas seperti Reka Bentuk dan Matcher untuk mengendalikan reka bentuk ekspresi biasa dan melaksanakan operasi penyelarasan.

Arahan tatabahasa

Untuk menggunakan ungkapan biasa dalam Java, kita perlu mencipta corak ungkapan biasa menggunakan kelas Reka Bentuk. Corak ini mewakili corak yang diingini yang perlu kita padankan. Kami akan menggunakan pelbagai aksara dan operator yang dipratentukan dalam ungkapan biasa untuk menentukan corak.

Setelah reka bentuk ditentukan, kami mencipta masalah Matcher dengan memanggil strategi matcher() pada reka bentuk. Matcher membolehkan kami menggunakan reka bentuk pada rentetan input tertentu dan melaksanakan operasi yang diselaraskan.

Kaedah 1

Algoritma

  • Buat corak ungkapan biasa untuk setiap jenis data (cth. integer, terapung, rentetan, dll.).

  • Gunakan kelas Corak untuk menyusun corak ungkapan biasa.

  • Buat objek Matcher menggunakan corak terkumpul dan rentetan input pengguna.

  • Gunakan kaedah matches() kelas Matcher untuk menyemak sama ada rentetan input sepadan dengan corak jenis data tertentu.

  • Ulang proses ini sehingga corak jenis data yang sepadan ditemui.

Contoh

import java.util.regex.*;

public class DataTypeFinder {
   public static void main(String[] args) {
      String userInput = "42.5"; // Example user input
        
      // Define regex patterns for data types
      String integerPattern = "\d+";
      String floatPattern = "\d+\.\d+";
      String stringPattern = "[a-zA-Z]+";

      // Compile the patterns
      Pattern integerRegex = Pattern.compile(integerPattern);
      Pattern floatRegex = Pattern.compile(floatPattern);
      Pattern stringRegex = Pattern.compile(stringPattern);

      // Create Matcher objects for each pattern
      Matcher integerMatcher = integerRegex.matcher(userInput);
      Matcher floatMatcher = floatRegex.matcher(userInput);
      Matcher stringMatcher = stringRegex.matcher(userInput);

      // Check for matches
      if (integerMatcher.matches()) {
         System.out.println("Input is an integer.");
      } else if (floatMatcher.matches()) {
         System.out.println("Input is a float.");
      } else if (stringMatcher.matches()) {
         System.out.println("Input is a string.");
      } else {
         System.out.println("Unable to determine the data type.");
      }
   }
}

Output

Input is a float.
Terjemahan bahasa Cina bagi

Penjelasan

ialah:

Penjelasan

Dalam pendekatan ini, kami mencipta corak ungkapan biasa yang berasingan untuk setiap jenis data yang ingin kami kenali: integer, apungan dan rentetan. Corak ini disusun menggunakan kelas Corak.

Kami kemudian membandingkan objek Matcher untuk setiap corak, menghantar rentetan input pelanggan kepada setiap pemadan. Kami menggunakan kaedah matches() untuk menyemak sama ada rentetan input sepadan dengan corak jenis data tertentu.

Jika koordinat ditemui, kami mencetak pengisihan maklumat perbandingan. Jika tidak, jika koordinat tidak dijumpai, kami mencetak mesej ralat yang mengatakan bahawa jenis data tidak dapat ditentukan.

Kaedah 2

Algoritma

  • Gunakan operator OR (|) untuk menggabungkan corak semua jenis data menjadi satu corak ungkapan biasa.

  • Gunakan mod kompilasi kelas Corak.

  • Buat objek Matcher menggunakan corak terkumpul dan rentetan input pengguna.

  • Gunakan kaedah matches() kelas Matcher untuk menyemak sama ada rentetan input sepadan dengan mana-mana corak jenis data.

Contoh

import java.util.regex.*;

public class DataTypeFinder {
   public static void main(String[] args) {
      String userInput = "42.5"; // Example user input
        
      // Define regex pattern for all data types
      String dataTypePattern = "\d+|\d+\.\d+|[a-zA-Z]+";

      // Compile the pattern
      Pattern regex = Pattern.compile(dataTypePattern);

      // Create a Matcher object
      Matcher matcher = regex.matcher(userInput);

      // Check for matches
      if (matcher.matches()) {
         System.out.println("Input is of a recognized data type.");
      } else {
         System.out.println("Unable to determine the data type.");
      }
   }
}

Output

Input is of a recognized data type.
Terjemahan bahasa Cina bagi

Penjelasan

ialah:

Penjelasan

Dalam kaedah ini, kami menggunakan operator OR (|) untuk mencipta satu corak ungkapan biasa yang menggabungkan corak daripada semua jenis data. Dengan cara ini kita boleh memadankan mana-mana corak dengan rentetan yang dimasukkan oleh pengguna.

Kami menggunakan kelas Reka Bentuk untuk menyusun reka bentuk dan mencipta objek Matcher menggunakan reka bentuk yang disusun dan rentetan input pelanggan. Kami kemudian menggunakan kaedah matches() objek Matcher untuk menyemak sama ada rentetan input sepadan dengan mana-mana corak jenis data.

Jika koordinat ditemui, kami mencetak mesej yang menunjukkan bahawa input adalah jenis maklumat yang diiktiraf. Selain itu, jika koordinat tidak ditemui, kami mencetak mesej ralat yang menyatakan bahawa jenis data tidak dapat ditentukan.

Kaedah 3

Algoritma

  • Buat corak ungkapan biasa untuk menyemak corak tertentu yang dikaitkan dengan setiap jenis data.

  • Gunakan mod kompilasi kelas Corak.

  • Gunakan kaedah find() kelas Matcher untuk mencari sama ada sebarang corak jenis data wujud dalam rentetan input pengguna.

Contoh

import java.util.regex.*;

public class DataTypeFinder {
   public static void main(String[] args) {
      String userInput = "42.5"; // Example user input
        
      // Define regex pattern for each data type
      String integerPattern = "\d+";
      String floatPattern = "\d+\.\d+";
      String stringPattern = "[a-zA-Z]+";

      // Compile the patterns
      Pattern integerRegex = Pattern.compile(integerPattern);
      Pattern floatRegex = Pattern.compile(floatPattern);
      Pattern stringRegex = Pattern.compile(stringPattern);

      // Create Matcher objects for each pattern
      Matcher integerMatcher = integerRegex.matcher(userInput);
      Matcher floatMatcher = floatRegex.matcher(userInput);
      Matcher stringMatcher = stringRegex.matcher(userInput);

      // Check for matches
      if (integerMatcher.find()) {
         System.out.println("Input contains an integer.");
      }
      if (floatMatcher.find()) {
         System.out.println("Input contains a float.");
      }
      if (stringMatcher.find()) {
         System.out.println("Input contains a string.");
      }
      if (!integerMatcher.find() && !floatMatcher.find() && !stringMatcher.find()) {
         System.out.println("Unable to determine the data type.");
      }
   }
}

Output

Input contains an integer.
Input contains a float.
Terjemahan bahasa Cina bagi

Penjelasan

ialah:

Penjelasan

Dalam pendekatan ini, kami mencipta corak ungkapan biasa yang berasingan untuk setiap jenis data dan menyusunnya menggunakan kelas Corak.

Kami kemudian membandingkan objek Matcher untuk setiap corak, menghantar rentetan input pelanggan kepada setiap pemadan. Daripada menggunakan kaedah matches(), kami menggunakan kaedah find() kelas Matcher untuk mencari kehadiran sebarang corak jenis data dalam rentetan input.

Jika koordinat ditemui, kami mencetak mesej yang menunjukkan bahawa input mengandungi kategori maklumat perbandingan. Jika tiada koordinat ditemui untuk sebarang reka bentuk pesanan data, kami mencetak mesej ralat yang menunjukkan bahawa pesanan data tidak dapat ditentukan.

Kaedah 4

Algoritma

  • Buat corak ungkapan biasa untuk menyemak corak tertentu yang dikaitkan dengan setiap jenis data.

  • Gunakan mod kompilasi kelas Corak.

  • Gunakan kaedah find() kelas Matcher untuk mencari sama ada setiap corak jenis data terdapat dalam rentetan input pengguna.

  • Simpan jenis data yang ditemui dalam pembolehubah untuk pemprosesan selanjutnya.

示例

import java.util.regex.*;

public class DataTypeFinder {
   public static void main(String[] args) {
      String userInput = "42.5"; // Example user input
        
      // Define regex pattern for each data type
      String integerPattern = "\d+";
      String floatPattern = "\d+\.\d+";
      String stringPattern = "[a-zA-Z]+";

      // Compile the patterns
      Pattern integerRegex = Pattern.compile(integerPattern);
      Pattern floatRegex = Pattern.compile(floatPattern);
      Pattern stringRegex = Pattern.compile(stringPattern);

      // Create Matcher objects for each pattern
      Matcher integerMatcher = integerRegex.matcher(userInput);
      Matcher floatMatcher = floatRegex.matcher(userInput);
      Matcher stringMatcher = stringRegex.matcher(userInput);

      // Check for matches and store the found data type
      String dataType = "";
      if (integerMatcher.find()) {
         dataType = "integer";
      }
      if (floatMatcher.find()) {
         dataType = "float";
      }
      if (stringMatcher.find()) {
         dataType = "string";
      }

      // Process the found data type
      if (!dataType.isEmpty()) {
         System.out.println("Input is of data type: " + dataType);
      } else {
         System.out.println("Unable to determine the data type.");
      }
   }
}

输出

Input is of data type: float

Explanation

的中文翻译为:

解释

在这种方法中,我们为每种数据类型创建单独的正则表达式模式,并使用 Pattern 类对其进行编译。

我们然后对每个模式进行Matcher对象的比较,将客户输入的字符串传递给每个matcher。再次使用Matcher类的find()方法来查找输入字符串中每个数据类型模式的存在。

在找到匹配项的情况下,我们将相应的数据类型存储在一个名为dataType的变量中。在处理完所有的模式后,我们检查dataType变量是否为空。如果不为空,我们打印一条消息显示找到的数据类型。如果dataType变量为空,我们打印一条错误消息,显示无法确定数据类型。

结论

决定客户端输入的信息类型是许多 Java 应用程序的一个重要方面。正则表达式提供了一种强大的方法来识别字符串中的模式并有效地确定数据类型。在本文中,我们探索了使用 Java 中的正则表达式查找用户输入的数据类型的不同方法。

Atas ialah kandungan terperinci Cari jenis data input pengguna menggunakan ungkapan biasa dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah jenis data yang harus digunakan untuk medan jantina dalam pangkalan data MySQL? Apakah jenis data yang harus digunakan untuk medan jantina dalam pangkalan data MySQL? Mar 14, 2024 pm 01:21 PM

Dalam pangkalan data MySQL, medan jantina biasanya boleh disimpan menggunakan jenis ENUM. ENUM ialah jenis penghitungan yang membolehkan kita memilih satu sebagai nilai medan daripada set nilai yang dipratentukan. ENUM ialah pilihan yang baik apabila mewakili pilihan tetap dan terhad seperti jantina. Mari lihat contoh kod tertentu: Katakan kita mempunyai jadual yang dipanggil "pengguna" yang mengandungi maklumat pengguna, termasuk jantina. Sekarang kita ingin mencipta medan untuk jantina, kita boleh mereka bentuk struktur jadual seperti ini: CRE

Apakah jenis data terbaik untuk medan jantina dalam MySQL? Apakah jenis data terbaik untuk medan jantina dalam MySQL? Mar 15, 2024 am 10:24 AM

Dalam MySQL, jenis data yang paling sesuai untuk medan jantina ialah jenis penghitungan ENUM. Jenis penghitungan ENUM ialah jenis data yang membenarkan definisi set nilai yang mungkin Medan jantina sesuai untuk menggunakan jenis ENUM kerana jantina biasanya hanya mempunyai dua nilai, iaitu lelaki dan perempuan. Seterusnya, saya akan menggunakan contoh kod khusus untuk menunjukkan cara mencipta medan jantina dalam MySQL dan menggunakan jenis penghitungan ENUM untuk menyimpan maklumat jantina. Berikut adalah langkah-langkahnya: Pertama, buat jadual bernama pengguna dalam MySQL, termasuk

Peta minda sintaks Python: pemahaman mendalam tentang struktur kod Peta minda sintaks Python: pemahaman mendalam tentang struktur kod Feb 21, 2024 am 09:00 AM

Python digunakan secara meluas dalam pelbagai bidang dengan sintaksnya yang ringkas dan mudah dibaca. Menguasai struktur asas sintaks Python adalah penting, kedua-duanya untuk meningkatkan kecekapan pengaturcaraan dan untuk mendapatkan pemahaman yang mendalam tentang cara kod tersebut berfungsi. Untuk tujuan ini, artikel ini menyediakan peta minda komprehensif yang memperincikan pelbagai aspek sintaks Python. Pembolehubah dan Jenis Data Pembolehubah ialah bekas yang digunakan untuk menyimpan data dalam Python. Peta minda menunjukkan jenis data Python biasa, termasuk integer, nombor titik terapung, rentetan, nilai Boolean dan senarai. Setiap jenis data mempunyai ciri dan kaedah operasinya sendiri. Operator Operator digunakan untuk melaksanakan pelbagai operasi pada jenis data. Peta minda merangkumi jenis operator yang berbeza dalam Python, seperti operator aritmetik, nisbah

Penjelasan terperinci tentang cara menggunakan jenis Boolean dalam MySQL Penjelasan terperinci tentang cara menggunakan jenis Boolean dalam MySQL Mar 15, 2024 am 11:45 AM

Penjelasan terperinci tentang penggunaan jenis Boolean dalam MySQL MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan Dalam aplikasi praktikal, selalunya perlu menggunakan jenis Boolean untuk mewakili nilai logik benar dan salah. Terdapat dua kaedah perwakilan jenis Boolean dalam MySQL: TINYINT(1) dan BOOL. Artikel ini akan memperkenalkan secara terperinci penggunaan jenis Boolean dalam MySQL, termasuk definisi, tugasan, pertanyaan dan pengubahsuaian jenis Boolean, dan menerangkannya dengan contoh kod tertentu. 1. Jenis Boolean ditakrifkan dalam MySQL dan boleh

Apakah pilihan jenis data terbaik untuk medan jantina dalam MySQL? Apakah pilihan jenis data terbaik untuk medan jantina dalam MySQL? Mar 14, 2024 pm 01:24 PM

Apabila mereka bentuk jadual pangkalan data, memilih jenis data yang sesuai adalah sangat penting untuk pengoptimuman prestasi dan kecekapan penyimpanan data. Dalam pangkalan data MySQL, sebenarnya tiada apa yang dipanggil pilihan terbaik untuk jenis data untuk menyimpan medan jantina, kerana medan jantina umumnya hanya mempunyai dua nilai: lelaki atau perempuan. Tetapi untuk kecekapan dan penjimatan ruang, kami boleh memilih jenis data yang sesuai untuk menyimpan medan jantina. Dalam MySQL, jenis data yang paling biasa digunakan untuk menyimpan medan jantina ialah jenis penghitungan. Jenis penghitungan ialah jenis data yang boleh mengehadkan nilai medan kepada set terhad.

Mendedahkan klasifikasi jenis data asas dalam bahasa pengaturcaraan arus perdana Mendedahkan klasifikasi jenis data asas dalam bahasa pengaturcaraan arus perdana Feb 18, 2024 pm 10:34 PM

Tajuk: Jenis Data Asas Didedahkan: Fahami Klasifikasi dalam Bahasa Pengaturcaraan Arus Perdana Teks: Dalam pelbagai bahasa pengaturcaraan, jenis data ialah konsep yang sangat penting, yang mentakrifkan pelbagai jenis data yang boleh digunakan dalam atur cara. Bagi pengaturcara, memahami jenis data asas dalam bahasa pengaturcaraan arus perdana adalah langkah pertama dalam membina asas pengaturcaraan yang kukuh. Pada masa ini, kebanyakan bahasa pengaturcaraan utama menyokong beberapa jenis data asas, yang mungkin berbeza antara bahasa, tetapi konsep utama adalah serupa. Jenis data asas ini biasanya dibahagikan kepada beberapa kategori, termasuk integer

Analisis perbezaan, kelebihan dan keburukan jenis data Blob dan Clob dalam pangkalan data Oracle Analisis perbezaan, kelebihan dan keburukan jenis data Blob dan Clob dalam pangkalan data Oracle Mar 08, 2024 pm 06:03 PM

Blob dan Clob ialah dua jenis data biasa dalam pangkalan data Oracle, digunakan untuk menyimpan sejumlah besar data binari dan data aksara. Artikel ini akan menganalisis perbezaan antara jenis data Blob dan Clob dan membandingkannya daripada kelebihan dan kekurangan masing-masing. 1. Jenis data Blob Blob ialah singkatan BinaryLargeObject, yang digunakan untuk menyimpan sejumlah besar data binari, seperti gambar, audio, video, dll. Jenis Blob boleh menyimpan nombor binari sehingga saiz 4GB dalam pangkalan data Oracle

Pengenalan kepada sintaks asas dan jenis data bahasa C Pengenalan kepada sintaks asas dan jenis data bahasa C Mar 18, 2024 pm 04:03 PM

Bahasa C ialah bahasa pengaturcaraan komputer yang digunakan secara meluas yang cekap, fleksibel dan berkuasa. Untuk mahir dalam pengaturcaraan dalam bahasa C, anda perlu memahami sintaks asas dan jenis datanya. Artikel ini akan memperkenalkan sintaks asas dan jenis data bahasa C dan memberi contoh. 1. Sintaks asas 1.1 Komen Dalam bahasa C, komen boleh digunakan untuk menerangkan kod untuk memudahkan pemahaman dan penyelenggaraan. Komen boleh dibahagikan kepada komen satu baris dan komen berbilang baris. //Ini ulasan satu baris/*Ini ulasan berbilang baris*/1.2 Bahasa C Kata Kunci

See all articles