Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ค้นหาสตริงใน Matrix โดยใช้ฟังก์ชัน Split ใน Java


ในการค้นหาสตริงในเมทริกซ์โดยใช้ฟังก์ชัน split โค้ดจะเป็นดังนี้ -

ตัวอย่าง

import java.util.*;
public class Demo {
   public static int search_string(String[] my_matrix, String search_string){
      for (String input : my_matrix){
         String[] my_value = input.split(search_string);
         if (my_value.length >= 2 || my_value.length == 0){
            return 1;
         }
         else if (my_value.length == 1 && input.length() != my_value[0].length()){
            return 1;
         }
      }
      return 0;
   }
   public static String[] vertical_search(String[] my_matrix){
      String[] vertical_search_value = new String[my_matrix[0].length()];
      for (int i = 0; i < my_matrix[0].length(); i++){
         String temp = "";
         for (int j = 0; j < my_matrix.length; j++)
            temp += my_matrix[j].charAt(i);
         vertical_search_value[i] = temp;
      }
      return vertical_search_value;
   }
   public static void main(String[] args){
      String[] my_matrix = { "This", "Sample", "This" };
      String search_string = "This";
      String[] vertical_matrix = vertical_search(my_matrix);
      int horizontal_search_result = search_string(my_matrix, search_string);
      int vertical_search_result = search_string(vertical_matrix, search_string);
      if (horizontal_search_result == 1 || vertical_search_result == 1)
         System.out.println("The string has been found in the matrix");
      else
         System.out.println("The string couldn't be found in the matrix");
   }
}

ผลลัพธ์

The string has been found in the matrix

คลาสชื่อ Demo กำหนดฟังก์ชันชื่อ 'search_String' ซึ่งจะแยกสตริงและตรวจสอบเพื่อดูความยาวของสตริง ถ้าแถวทั้งหมดถูกครอบครองโดยสตริง ฟังก์ชันจะคืนค่าอาร์เรย์ที่มีความยาวเป็น 0

หากสตริงที่เรากำลังมองหาอยู่ระหว่างอักขระของสตริง ความยาวของ thearray จะมากกว่า 1 ความยาวของอาร์เรย์อาจเป็น 1 หาก:

  • สตริงการค้นหาเกิดขึ้นในครึ่งแรกของอาร์เรย์
  • สตริงการค้นหาเกิดขึ้นในครึ่งหลังของอาร์เรย์
  • ไม่มีสตริงการค้นหาในอาร์เรย์

ฟังก์ชันอื่นที่ชื่อว่า 'vertical_search' จะตรวจสอบสตริงการค้นหาในแนวตั้งในเมทริกซ์ ในการค้นหาสตริงในคอลัมน์ของเมทริกซ์ เมทริกซ์จะถูกย้ายและค้นหาอีกครั้ง