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

ค้นหาคำที่ซ้ำคำแรกในสตริงใน Java


หากต้องการค้นหาคำที่ซ้ำคำแรกในสตริงใน Java โค้ดจะเป็นดังนี้ −

ตัวอย่าง

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

ผลลัพธ์

The first repeating character in the string is :
I

คลาสชื่อ Demo มีฟังก์ชันชื่อ 'repeat_first' ซึ่งรับสตริงอักขระเป็นพารามิเตอร์ มันสร้างชุดแฮชใหม่และวนซ้ำบนสตริงและตรวจสอบว่าอักขระในสตริงเท่ากับอักขระที่ระบุหรือไม่

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