الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اسئلتكم واستفساراتكم

مغلقرائج
بدأه علاء الصالحي في 8 نوفمبر 2008 · 958 رد · 57,657 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#801

السلام عليكم .. قبل فترة خلصنا من الميثود .. والحمدلله كنت فاهمها تمام ..

لكن ارجو مساعدتي في حل هالسؤال عن (( المصفوفات )) .. أو على الأقل بدايته اذا كان طويلاً ..

لأن المصفوفات معقده جداً .. ووجدت صعوبه في فهمها الى الآن .. فحل هالسؤال بيساعدني كثير في فهمها ان شاء الله ..

جزاكم الله خير الجزاء :

Write a program that reads an integer n, then declares an array of n elements. The program then calls a method that fills the array with the first n Fibonacci numbers. Then main reads a list of numbers less than n that denote the position of a number and calls another method that uses the array to return the Fibonacci number in that position. Main stops when a negative number is read.

Sample Run:

Enter an Enteger :

4

Enter the position (less than the length then enter -1 when finished)

3

The fibonacci number at position 3 is : 2

Enter the position (less than the length then enter -1 when finished)

4

wrong value, exit

تم تعديل هذه المشاركة بواسطة S Y L A R في 21 مايو 2010 في 02:33

#802

محاولاتك أخي

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#803

المشكلة فقط .. انه عند ادخال ارقام خاطئة .. لا يطبع هذه الرسالة : wrong value, exit

ماعرفت وين احط الـ if و else ..

هذي المشكلة فقط .. وهذي محاولتي :

import java.util.Scanner;

public class Fibonacci {

	public static void main(String[] args) {

		Scanner keyboard = new Scanner(System.in);

		System.out.println("Total elements: ");
		int n = keyboard.nextInt();

		int[] fibNums = createFibArray(n);

		int num;
		while((num = keyboard.nextInt()) >= 0){
			System.out.println("Fib" + num + " " + getFibNum(fibNums, num));			
		}
		System.out.println("Goodbye.");

	}

	public static int getFibNum(int[] fib, int n){
		return fib[n];
	}

	public static int[] createFibArray(int n){
		int[] result = new int[n];

		for(int i = 0; i < n; i++){
			result = fibonacciNum(i);
		}

		return result;
	}

	public static int fibonacciNum(int n){
		if(n == 0)
			return 0;
		if(n == 1)
			return 1;
		return fibonacciNum(n - 1) + fibonacciNum(n - 2);
	}

}
#804

كيف يعني قيم خطأ

لم افهم

albert_einstein.jpg

Untitled-AE.jpg
#805

ضع الدالة nextInt

مابين try catch

try{
keyboard.nextInt();
}
catch(InputMismatchException e){
System.out.println("wrong value, exit");
}

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#806

السلام عليكم ورحمة الله وبركاته

بعد إذن حضراتكم .... أبحث عن من يستطيع إفادتي بخصوص موضوع Graphics في GUI

لو تفضلتم علي بملخص بسيط يفيدني عن تفاصيل هذا الموضوع

ولكم كل التحايا ......

#808

عندي مشكله في type casting

في هذا الكود

كيف يستطيع ان يعمل له cast لل(otherObject)

في الmethod equals

اذا كان otherObject هو من نوع entry

 LinkedList3<T> otherList = (LinkedList3<T>)otherObject;

public class LinkedList3<T>
{
    private class Node<T>
    {
        private T data;
        private Node<T> link;

        public Node( )
        {
             data = null;
             link = null;
        }

        public Node(T newData, Node<T> linkValue)
        {
            data = newData;
            link = linkValue;
        }
     }//End of Node<T> inner class

    private Node<T> head;

    public LinkedList3( )
    {
        head = null;
    }

    /**
     Adds a node at the start of the list with the specified data.
     The added node will be the first node in the list.
    */
    public void addToStart(T itemData)
    {
        head = new Node<T>(itemData, head);
    }

    /**
     Removes the head node and returns true if the list contains at least
     one node. Returns false if the list is empty.
    */
    public boolean deleteHeadNode( )
    {
        if (head != null)
        {
            head = head.link;
            return true;
        }
        else
            return false;
    }

    /**
     Returns the number of nodes in the list.
    */
    public int size( )
    {
        int count = 0;
        Node<T> position = head;
        while (position != null)
        {
            count++;
            position = position.link;
        }
        return count;
    }

    public boolean contains(T item)
    {
        return (find(item) != null);
    }

    /**
     Finds the first node containing the target item, and returns a
     reference to that node. If target is not in the list, null is returned.
    */
    private Node<T> find(T target)
    {
        Node<T> position = head;
        T itemAtPosition;
        while (position != null)
        {
            itemAtPosition = position.data;
            if (itemAtPosition.equals(target))
                return position;
            position = position.link;
        }
        return null; //target was not found
    }

    /**
     Finds the first node containing the target and returns a reference
      to the data in that node. If target is not in the list, null is returned.
    */
    public T findData(T target)
    {
        return find(target).data;
    }

    public void outputList( )
    {
        Node<T> position = head;
        while (position != null)
        {
            System.out.println(position.data);
            position = position.link;
        }
    }

    public boolean isEmpty( )
    {
        return (head == null);
    }

    public void clear( )
    {
        head = null;
    }

   /*
    For two lists to be equal they must contain the same data items in
    the same order. The equals method of T is used to compare data items.
   */
   public boolean equals(Object otherObject)
    {
        if (otherObject == null)
            return false;
        else if (getClass( ) != otherObject.getClass( ))
            return false;
        else
        {
            LinkedList3<T> otherList = (LinkedList3<T>)otherObject;
            if (size( ) != otherList.size( ))
                return false;
            Node<T> position = head;
            Node<T> otherPosition = otherList.head;
            while (position != null)
            {
                if (!(position.data.equals(otherPosition.data)))
                    return false;
                position = position.link;
                otherPosition = otherPosition.link;
            }
            return true; //no mismatch was not found
        }

}

 
public class Entry
{
    private String item;
    private int count;

    public Entry(String itemData, int countData)
    {
        item = itemData;
        count = countData;
    }

    public String toString( )
    {
        return (item + " " + count);
    }

    public boolean equals(Object otherObject)
    {
        if (otherObject == null)
            return false;
        else if (getClass( ) != otherObject.getClass( ))
            return false;
        else
        {
            Entry otherEntry = (Entry)otherObject;
            return (item.equals(otherEntry.item) 
                      && (count == otherEntry.count));
        }
    }
albert_einstein.jpg

Untitled-AE.jpg
#809

أخي عملية التحويل القسري casting

تستخدم للتحويل من فئة أ إلى فئة ب بشرط أن تكون الفئة ب ابن للفئة أ

هلا بينت الموضوع أكثر حتى أساعدك

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#810

كلامك صحيح

انا عندي فئه اسمها Entry ليست ابن ولا ابو منفصله

وعندي فئه اخرى اسمها LinkedList3<T>

فوضع Entry كمدخل لمتغير فئه

  
public class GenericLinkedListDemo
{
    public static void main(String[] args)
    {
        LinkedList3<Entry> list = new LinkedList3<Entry>( );

        Entry entry1 = new Entry("Apples", 1);
        list.addToStart(entry1);
        Entry entry2 = new Entry("Bananas", 2);
        list.addToStart(entry2);
        Entry entry3 = new Entry("Cantaloupe", 3);
        list.addToStart(entry3);
        System.out.println("List has " + list.size( )  + " nodes.");

        list.outputList( );
        System.out.println(list.find(entry3));
    }
}

فكيف استطاع ان يفعل cast وهي ليست ابن لهو

 private Node<T> find(T target) //هنا المدخل من نوع Entry
    {
        Node<T> position = head;
        T itemAtPosition;
        while (position != null)
        {
            itemAtPosition = position.data;
   if (itemAtPosition.equals(target))//Entryونضع المتغير من نوع     method equalsفنستخدم هنا 
                return position;
            position = position.link;
        }
        return null; //target was not found  
 }


public boolean equals(Object otherObject)
    {
        if (otherObject == null)
            return false;
        else if (getClass( ) != otherObject.getClass( ))
            return false;
        else
        {
           LinkedList3<T> otherList = (LinkedList3<T>)otherObject;هنا تحدث عمليه القصر
            if (size( ) != otherList.size( ))
                return false;
            Node<T> position = head;
            Node<T> otherPosition = otherList.head;
            while (position != null)
            {
                if (!(position.data.equals(otherPosition.data)))
                    return false;
                position = position.link;
                otherPosition = otherPosition.link;
            }
            return true; //no mismatch was not found
        }
albert_einstein.jpg

Untitled-AE.jpg
#811

أخي لست محتاجاً أن تقوم بمناداة equal الخاصة بهذه الفئة

وإنما أنتا محتاج لمناداة equal الخاصة بالكائن

مثال لو كان T لديك Entery إذن فأنت محتاج لمناداة equal الخاصة بـ Entery وفي كل الأحوال أنت لست بحاجة لعملية casting

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#812

هذا الكود لم اكتبه انما هو مثال في الكتاب

وارجو ان توضح لي هذا الكود حتى وان كنت لااحتاج ان افعله مطلقا

 Entry otherEntry = (Entry)otherObject;

وشكرااا

تم تعديل هذه المشاركة بواسطة pro.fahd في 30 مايو 2010 في 07:08

albert_einstein.jpg

Untitled-AE.jpg
#813

سأبسط الموضوع عليك

هذه الشيفرة تعني أني أريد تحويل الكائن من النوع Object (على حسب الموجود لديك)

إلى النوع Entry بحيث أتمكن من استخدام الدوال الموجودة في الفئة Entry

طيب ما الذي سيحصل إذا كانت هذه العملية خاطئة

بمعنى آخر هذا الكائن ليس كائناً من النوع Entry ولا من أي نوع يرث النوع Entry

ستحصل على خطأ اسمه WrongCastException

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#814

شكراا يا أخ علاء وصلت المعلومه

albert_einstein.jpg

Untitled-AE.jpg
#815

السلام عليكم

كيف حالكم يا أخوان ؟ ان شاء الله تكونوا بتمام الصحة والعافية

لدي اليوم سؤال بسيط أتمنى أن أجد اجابته لديكم

وهو : لدي مجموعة من الاطارات frames, ,وأني اريد ان استخدم معلومات data من اطار الى اخر

مثلا اطار معين للمدخلات واخر للمخرجات فكيف انقل المعلومات من اطار المدخلات الى المخرجات علماً أني لا أريد أن احفظ المعلزمات في ملف واسترجعها فيما بعد

ولكن أريد نقل الملفات أن يتم خلال وقت التشغيل الrun time .

وشكرا مقدما لكم يا اخوان

#816

الإطار في النهاية هو عبارة عن كائن تستطيع وضعه أينما تشاء

تستطيع أن تضع فيه دوال تجعلك قادر على استخدام البيانات التي فيه

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#817
علاء الصالحي كتب:

الإطار في النهاية هو عبارة عن كائن تستطيع وضعه أينما تشاء

تستطيع أن تضع فيه دوال تجعلك قادر على استخدام البيانات التي فيه

تحياتي

شكرا اخ علاء على مداخلتك لكن ماهي الدوال وكيف تعمل

اذا ليس لديك مانع

وبالتوفيق

#818
ksu كتب:

شكرا اخ علاء على مداخلتك لكن ماهي الدوال وكيف تعمل

اذا ليس لديك مانع

وبالتوفيق

يمكنك انشاء دوال getters and setters واستخدامها من خارج الاطار

على ان تكون طبعا الداول public

لكى تتكمن من استخدامها من خارج الاطار

مثال صغير

اذا كان لدى اطار يدعى InputFrame واطار اخر يدعى OutputFrame

فى الـ InputFrame يوجد nameTextField

فكيف احصل على المدخلات فى هذا الـ textfield

نقوم بتعريف داله وليكن هكذا

public String getNameTextField(){
 return nameTextField.getText();
}

وبهذا الشكل

عن طريق الـ OutputFrame الذى فى البناء الخاص به ياخذ متغير من نوع InputFrame

public OutputFrame(InputFrame inputFrame){
}

اعرف كائن من نوع InputFrame واقول ان

this.InputFrame = InputFrame;

وحين اذ يمكنك استخدام البيانات الموجوده فى nameTextField عن طريق استدعاء الداله getNameTextField

وانت فى الـ OutputFrame

هكذا

inputFrame.getNameTextField();

Software Developer
Mahmoudkelany.com


 

#819

مشكور اخي مهندس حمزاوي عل المداخلة الطيبة

لكني اريد أن أوضح شئ بسيط

أنه عندي الاطاري يبدأ انشائه من المقاول constructor

لذلك عندما أعرف instance من هذا الاطار على الطوالي يطلع الاطار للشاشة

ارجوا ان أجد الجواب لديكم

#820
ksu كتب:

مشكور اخي مهندس حمزاوي عل المداخلة الطيبة

لكني اريد أن أوضح شئ بسيط

أنه عندي الاطاري يبدأ انشائه من المقاول constructor

لذلك عندما أعرف instance من هذا الاطار على الطوالي يطلع الاطار للشاشة

ارجوا ان أجد الجواب لديكم

العفو اخى الكريم

معذره لم افهم سوالك

ممكن تصيغ السوال بطريقه اوضح ؟

وتشرح اين تكمن المشكله ؟

او اطلاعنا على مشكلتك بالكود

تحياتى

Software Developer
Mahmoudkelany.com


 

#821
Eng.Hamzawy كتب:

العفو اخى الكريم

معذره لم افهم سوالك

ممكن تصيغ السوال بطريقه اوضح ؟

وتشرح اين تكمن المشكله ؟

او اطلاعنا على مشكلتك بالكود

تحياتى

يا أخي الكريم أنا اريد أن أحافظ على الداتا بين عده كلاسات والكلاسات هي الاطارات الفريمز

أريد أن أعرف طريقة تقم بذلك

--------------------------------------------------------------------------------------

المشكلة في السيترز والقيترز انه

انت لازم تعب الداتا في كائن واحد معين

مثلا انا لدي كائن 1 كائن 2 كائن3

واريد ان أحافظ على المعلومة بينهم بحيث الكائن الاول ياخذها والثاني يعمل المعالجة والثالث يعمل المخرجات

فاذا عرفت كائن من 2 في 1

فلن استطيع ان اصل الى الكائن2 من الثالث

لنه يجب أن اعرف instance مختلف

--------------------------------------

أرجوا أن تكون وضحت الفكرة

#822
ksu كتب:

يا أخي الكريم أنا اريد أن أحافظ على الداتا بين عده كلاسات والكلاسات هي الاطارات الفريمز

أريد أن أعرف طريقة تقم بذلك

--------------------------------------------------------------------------------------

المشكلة في السيترز والقيترز انه

انت لازم تعب الداتا في كائن واحد معين

مثلا انا لدي كائن 1 كائن 2 كائن3

واريد ان أحافظ على المعلومة بينهم بحيث الكائن الاول ياخذها والثاني يعمل المعالجة والثالث يعمل المخرجات

فاذا عرفت كائن من 2 في 1

فلن استطيع ان اصل الى الكائن2 من الثالث

لنه يجب أن اعرف instance مختلف

--------------------------------------

أرجوا أن تكون وضحت الفكرة

للاسف فيه عيب عندى فى عدم فهمك

بس ممكن تشوف المثال هذا

حاولت افهم كلامك وعملت حاجه بسيطه عليه كدا

ويارب تكون ما تريده

بالمرفقات

نصيحه لا تسخدم اطارات كثيره

فيمكنك استخدام JDialog

اذا لم تكن فعلا تحتاج ضروريا الى اطار

لكى يكون تصميمك كويس

لكن انا عملت المثال على اطارارت حسب طلبك

تحياتى

لا تنسانا من دعائك

MoveBetweenFrames.rar

Software Developer
Mahmoudkelany.com


 

#823

جزاك الله خير

سوف اطلع عليه واعطيك خبر

==========

يا اخي الكريم عندي مشكلة في الجهاز

انا اطلع على الكلية الصبح واشغله وأعطيك الأخبار

معليش لكن مو بيدي الجهاز طلعلي الجنان

تم تعديل هذه المشاركة بواسطة ksu في 5 يونيو 2010 في 04:44

#824
ksu كتب:

جزاك الله خير

سوف اطلع عليه واعطيك خبر

==========

يا اخي الكريم عندي مشكلة في الجهاز

انا اطلع على الكلية الصبح واشغله وأعطيك الأخبار

معليش لكن مو بيدي الجهاز طلعلي الجنان

اوك ولا يهمك اخى

وان شاء الله الجهاز يتظبط قريبا

والمثال يكون كويس ان شاء الله

سلام عليكم

Software Developer
Mahmoudkelany.com


 

#825

السلام عليكم ورحمة الله وبركاته

اريد ان اسال عن كيفيه عمل ابلكيشن بالموبيل يعمل فى باكروند

مثال اريد عمل j2me reminder application

هذا الموضوع مغلق.

مواضيع مشابهة