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

พิมพ์พีชคณิตทั้งหมดของสตริงใน Java


ต่อไปนี้เป็นโปรแกรม Java เพื่อพิมพ์พีชคณิตทั้งหมดของสตริง -

ตัวอย่าง

public class Demo{
   static void print_permutations(String my_str,String my_ans){
      if (my_str.length() == 0){
         System.out.print(my_ans + " ");
         return;
      }
      boolean my_arr[] = new boolean[26];
      for (int i = 0; i < my_str.length(); i++){
         char ch = my_str.charAt(i);
         String remaining_str = my_str.substring(0, i) + my_str.substring(i + 1);
         if (my_arr[ch - 'a'] == false)
         print_permutations(remaining_str, my_ans + ch);
         my_arr[ch - 'a'] = true;
      }
   }
   public static void main(String[] args){
      String my_str = "hey";
      System.out.println("The permutation of the string are :");
      print_permutations(my_str, "");
   }
}

ผลลัพธ์

The permutation of the string are :
hey hye ehy eyh yhe yeh

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

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