لغة الجافا

Tahani • منذ 5 سنوات

Implement Class the checks whethers a given numbar is aPrime using both Thread l and Runnable inter face

كلمات دليلية: جافا

ساعد بالإجابة

"إن في قضاء حوائج الناس لذة لا يَعرفها إلا من جربها، فافعل الخير مهما استصغرته فإنك لا تدري أي حسنة تدخلك الجنة."

الإجابات (2)

Mohammad Laif • منذ 5 سنوات

السؤال سهل, يطلب منك عمل كلاس (بها دالة ما مثلاً) تتحقق اذا كان الرقم اولي او لا. ثم تشغيل هذا الكود بداخل خيط حاسوبي بإستخدام إما كلاس الـ Thread او واجهة الـ Runnable.

 

العدد الاولي هو عدد طبيعي أكبر من 1، لا يقبل القسمة إلا على نفسه وعلى واحد فقط. 


توجد امثلة على انشاء Thread و Runnable في درس: انشاء الخيط الحاسوبي. ربما تحتاجي لقرائة الدروس الاولية لفهم اكثر من دورة: التزامن في نظام الاندرويد. الدروس تستخدم لغة الجافا فهي مطابقه بشكل كبير جداً للإندرويد اوغيره.

Hussain Aljabri • منذ 4 سنوات

تفضلي اختي, 

حتى نستخدم Thread and Runnable انترفيس لازم نستخدم run() ميثود. فيه يتم وضع الكود المخصص لمعرفة اذا كان الرقم المدخل هو رقم اولي ام لا.

طبعا حتى ندخل رقم يجب استخدام كلاس Scanner حتى نطلب من اليوزر ادخال رقم, وبهذا الرقم يتم ارساله للكود كما هو موضح تحت

takeInput() مثود يطلب من اليوزر ادخال رقم, ثم ارساله الى 

int no = takeInput();

كما هو موضح بالاسفل.

الكود التالي هو الكلاس الي طلبتيه. طريقة تفعيله هو فقط عمل new Prime() ثم يقوم بعمله ك Thread

import java.io.*;
import java.util.Scanner;
/**
 * Created by Hussain Aljabri on 26/04/2019.
 * www.hussainaljabri.com
 * 
 */
class Prime extends Thread implements Runnable
{
    private int input;
    public Prime(){
        //constructor
    }
    public void run()
    {
        
        while(true){
            int no = takeInput();

            int cnt=0;
            for(int i=2;i<=no/2;i++)
                if(no%i==0)
                {
                    cnt++;
                    System.out.println(no+" Number is Not prime, thanks HussainAljabri.");
                    break;
                }
            if(cnt==0)
                System.out.println(no+" Number is prime, thanks HussainAljabri.");
        
            }
    }
    
    public int takeInput(){
        Scanner input = new Scanner(System.in);
        System.out.print("Enter an Integer: ");
        int temp = input.nextInt();
        System.out.println("wait... processing...");
        return temp;    
    }
}

 

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !