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

โปรแกรม Java เพื่อค้นหาผลิตภัณฑ์ของสองตัวเลขโดยใช้การเรียกซ้ำ


ในบทความนี้ เราจะเข้าใจวิธีการค้นหาผลคูณของตัวเลขสองตัวโดยใช้การเรียกซ้ำ ฟังก์ชันแบบเรียกซ้ำคือฟังก์ชันที่เรียกตัวเองหลายครั้งจนกระทั่งตรงตามเงื่อนไขที่กำหนด

การเรียกซ้ำเป็นกระบวนการของการทำซ้ำรายการในลักษณะที่คล้ายคลึงกัน ในภาษาโปรแกรม หากโปรแกรมอนุญาตให้คุณเรียกใช้ฟังก์ชันภายในฟังก์ชันเดียวกันได้ จะเรียกว่าการเรียกใช้ฟังก์ชันแบบเรียกซ้ำ

ภาษาโปรแกรมหลายภาษาใช้การเรียกซ้ำโดยใช้สแต็ค โดยทั่วไป เมื่อใดก็ตามที่ฟังก์ชัน (ผู้โทร) เรียกใช้ฟังก์ชันอื่น (callee) หรือเรียกตัวเองว่าเป็นผู้รับสาย ฟังก์ชันผู้โทรจะโอนการควบคุมการดำเนินการไปยังผู้รับสาย ขั้นตอนการถ่ายโอนนี้อาจเกี่ยวข้องกับข้อมูลบางส่วนที่ต้องส่งผ่านจากผู้โทรไปยังผู้รับสาย

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -

ป้อนข้อมูล

สมมติว่าข้อมูลที่เราป้อนคือ −

Enter two number : 12 and 9

ผลผลิต

ผลลัพธ์ที่ต้องการจะเป็น

The product of 12 and 9 is 108

อัลกอริทึม

Step 1 - START
Step 2 – Declare two integer values namely my_input and my_result
Step 3 - Read the required values from the user/ define the values
Step 4 - A recursive function ‘getproduct’ is defined which takes two integers as input. The function computes the reminder by re-iterating over the function multiple times, until the base condition is reached.
Step 5 - The recursive function ‘getproduct’ is called and its result is stored
Step 6 - Display the result
Step 7 - Stop

ตัวอย่างที่ 1

ที่นี่ ผู้ใช้ป้อนอินพุตตามข้อความแจ้ง คุณสามารถลองใช้ตัวอย่างนี้ในเครื่องมือกราวด์ของเรา โปรแกรม Java เพื่อค้นหาผลิตภัณฑ์ของสองตัวเลขโดยใช้การเรียกซ้ำ .

import java.util.Scanner;
public class ProductRecursion{
   public static void main (String[] args){
      int my_input_1, my_input_2;
      System.out.println("Required packages have been imported");
      Scanner my_scanner = new Scanner(System.in);
      System.out.println("A reader object has been defined ");
      System.out.print("Enter the number : ");
      my_input_1 = my_scanner.nextInt();
      System.out.print("Enter the number : ");
      my_input_2 = my_scanner.nextInt();
      System.out.println("The product of "+my_input_1 +" and " +my_input_2 +" is " +getproduct(my_input_1, my_input_2));
   }
   static int getproduct(int my_input_1, int my_input_2){
      if (my_input_1 < my_input_2)
         return getproduct(my_input_2, my_input_1);
      else if (my_input_2 != 0)
          return (my_input_1 + getproduct(my_input_1, my_input_2 - 1));
      else
         return 0;
   }
}

ผลลัพธ์

Required packages have been imported
A reader object has been defined
Enter the number : 12
Enter the number : 9
The product of 12 and 9 is 108

ตัวอย่างที่ 2

ในที่นี้ มีการกำหนดจำนวนเต็มก่อนหน้านี้ และเข้าถึงและแสดงค่าบนคอนโซล

public class ProductRecursion{
   public static void main (String[] args){
      int my_input_1, my_input_2;
      my_input_1 = 12;
      my_input_2 = 9;
      System.out.println("The two numbers are defined as " +my_input_1 +" and " +my_input_2);
      System.out.println("The product of "+my_input_1 +" and " +my_input_2 +" is " +getproduct(my_input_1, my_input_2));
   }
   static int getproduct(int my_input_1, int my_input_2){
      if (my_input_1 < my_input_2)
         return getproduct(my_input_2, my_input_1);
      else if (my_input_2 != 0)
         return (my_input_1 + getproduct(my_input_1, my_input_2 - 1));
      else
         return 0;
   }
}

ผลลัพธ์

The two numbers are defined as 12 and 9
The product of 12 and 9 is 108