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

[تنبيه - عنوان غير مناسب : ]مالخطأ في هذا الكود ؟؟

بدأه khaled_prg في 29 ديسمبر 2011 · 8 رد · 460 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

مالخطأ في هذا الكود ؟؟

public abstract class Figure {
    int x,y;
    public Figure(int a, int b){
        x = a;
        y = b;
    }
    public abstract double Surface();
    void Affiche(){
        System.out.println("Les cordonnées du centre :"
                +x+","+y+ ")");
    }

    class Cercle extends Figure {
        int rayon;
        static final double PI = 3.14;
        public Cercle(int a,int b,int r){
            super(a,b);
            rayon = r;
        }
        void Affiche(){
            super.Affiche();
            System.out.println("cercle de rayon "+rayon);
        }
        public double Surface(){
            return PI*rayon*rayon;
        }
    }
    public static void main(String args[]){
        Cercle cl = new Cercle(5,4,2);
    }
}

شكرا مقدما.

#2

اخي الكريم تفضل بعد التعديل واتمنى ان يكون هذا طلبك

public abstract class Figure {
    int x,y;
    public Figure(int a, int b){
        x = a;
        y = b;
    }
    public void Surface() {
    System.out.println();
    }

    void Affiche(){
        System.out.println("Les cordonnées du centre :"  +"(" + x +","+ y + ")");
    }
}
    class Cercle extends Figure {
        int rayon;
        static final double PI = 3.14;
        public Cercle(int a,int b,int r){
            super(a,b);
            rayon = r;
            Affiche();
            Surface();
        }
        void Affiche(){
            super.Affiche();
            System.out.println("cercle de rayon "+rayon);
        }
        public void Surface(){
        	 super.Surface();
        	 System.out.println("The surface is " + PI*rayon*rayon); ;
        }

    public static void main(String args[]){
        Cercle cl = new Cercle(5,4,2);
    }
}
1

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#3

مرحبا أخي vector

أشكرك على المساعدة و لكنني لا أريد تغيير الكود .. إنما أريد إصلاحه + ذكر الخطأ الذي منعه من التنفيذ :)

بانتظاركم إخوتي.

تم تعديل هذه المشاركة بواسطة khaled_prg في 30 ديسمبر 2011 في 12:35

#4

أولا لم تضع أي عملية في main لذا لايوجد هناك ما ينفذ غير تكوين الشيء cl

ثانيا الخطأ في كتابة البرنامج، لماذا تحتاج ان يكون الكلاس Cercle داخل Figure، لذا وضعته في الخارج (المشكلة إنك اعتبرت أن كلاس Cercle جزء من Figure لكن Figure لم يكون بعد وأنت تريد تكوين عنصر من عناصر Figure فلا تستطيع ذلك)

ثالثا ضع main داخل Cercle

وأضف cl.Affiche داخل main كالتالي:

public abstract class Figure {

  int x, y;

  public Figure(int a, int b) {
	x = a;
	y = b;
  }

  public abstract double Surface();

  void Affiche() {
	System.out.println("Les cordonnées du centre :"
        	+ x + "," + y + ")");
  }
}

class Cercle extends Figure {

  int rayon;
  static final double PI = 3.14;

  public Cercle(int a, int b, int r) {
	super(a, b);
	rayon = r;
  }

  @Override
  void Affiche() {
	super.Affiche();
	System.out.println("cercle de rayon " + rayon);
  }

  public double Surface() {
	return PI * rayon * rayon;
  }

  public static void main(String args[]) {
	Cercle cl = new Cercle(5, 4, 2);
	cl.Affiche();
  }
}
1

عندما تريد أن تتعلم جافا بالفيديو إليك قنوات الYouTube الخاصة بقسم الحاسب الآلي

أ. فاضل خداده

أ. عبدالعزيز الرومي

أ. وحيد الساير

(وَمَا أُوتِيتُمْ مِنْ الْعِلْمِ إِلاَّ قَلِيلاً) [سورة الإسراء: الآية 85]

#5

مرحبا أخي وحيد !

اقتباس
أولا لم تضع أي عملية في main لذا لايوجد هناك ما ينفذ غير تكوين الشيء cl

ثانيا الخطأ في كتابة البرنامج، لماذا تحتاج ان يكون الكلاس Cercle داخل Figure، لذا وضعته في الخارج (المشكلة إنك اعتبرت أن كلاس Cercle جزء من Figure لكن Figure لم يكون بعد وأنت تريد تكوين عنصر من عناصر Figure فلا تستطيع ذلك)

ثالثا ضع main داخل Cercle

وأضف cl.Affiche داخل main

نعم كان ذاك خطأي و لم أنتبه إليه :), شكرا لك.

بالمناسبة, لماذا يتوجب علينا إضافة الأمر :

@Override

؟؟

تم تعديل هذه المشاركة بواسطة khaled_prg في 30 ديسمبر 2011 في 19:46

#6

الأخ الكريم/الأخت الكريمة

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

مرحباً بكم في منتدى الفريق العربي للبرمجة

نود تنبيهك أن العنوان غير مناسب.

الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!

قواعد المشاركة

/index.php?showtopic=29343

شاكرين لكم حُسن تعاونكم

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

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

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

728x90.png

#8

Override@: تقوم هذه الحاشية بالإشارة إلى أن الطريقة التي تأتي بعدها تقوم ب override لطريقة في الفئة الأم. إذا لم يجد ال compiler أي طريقة بنفس التوقيع (method signature) في الفئة لأم فسيرسل رسالة خطأ.

/index.php?showtopic=218686

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