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

Tìm từ được lặp lại đầu tiên trong một chuỗi trong Java

Để tìm từ được lặp lại đầu tiên trong một chuỗi trong Java, mã như sau -

Ví dụ

import java.util.*;
public class Demo{
   static char repeat_first(char my_str[]){
      HashSet<Character> my_hash = new HashSet<>();
      for (int i=0; i<=my_str.length-1; i++){
         char c = my_str[i];
         if (my_hash.contains(c))
         return c;
         else
         my_hash.add(c);
      }
      return '\0';
   }
   public static void main (String[] args){
      String my_str = "thisisasampleonlysample";
      char[] my_arr = my_str.toCharArray();
      System.out.println("The first repeating character in the string is :");
      System.out.println(repeat_first(my_arr));
   }
}

Đầu ra

The first repeating character in the string is :
I

Một lớp có tên Demo chứa một hàm có tên là ‘repeat_first’, lấy một chuỗi ký tự làm tham số. Nó tạo một bộ băm mới và lặp qua chuỗi và kiểm tra xem ký tự trong chuỗi có bằng một ký tự cụ thể hay không.

Nếu có, thì ký tự được trả về, ngược lại, ký tự được thêm vào bộ băm. Bằng cách này, lần thứ hai một từ được tìm thấy, nó sẽ được thêm vào bộ băm và từ này trở thành từ đầu tiên, đã có trong chuỗi nhiều lần. Trong hàm main, chuỗi được định nghĩa và một mảng ký tự được định nghĩa. Hàm ‘repeat_first’ được gọi trên mảng ký tự này. Mảng có liên quan được hiển thị trên bảng điều khiển.