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

عندما يكون عندي صنف به constructor يستقبل رقمين كيف أمثله في main ؟!

بدأه Al-waleed في 11 نوفمبر 2010 · 4 رد · 432 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
package c1;

public class Function {
	private int num;
	private int denom;


public Function(int nu,int deno)
{
	num=nu;
	denom=deno;

}

public int getNum() {
	return num;
}
public void setNum(int num) {
	this.num = num;
}
public int getDenom() {
	return denom;
}
public void setDenom(int denom) {
	this.denom = denom;
}
public void display()
{
	System.out.println(num+"/"+denom);
}

}

package c1;
import java.util.Scanner;

public class TestFunction
{

	public static void main(String[]arg)
	{
		Scanner input=new Scanner(System.in);
		int n,b;
		Function F=new Function(n,b); هنا يخرج لي خطأ;
		System.out.println("Enter num = denom");
		n=input.nextInt();
		b=input.nextInt();
		F.setNum(n);
		F.display();



	}

}

سؤالي في class Function هناك constructor ـ انصحت التسمية بالانجليزي :wink: ـ كونستراكتر يستقبل ( int nu, int deno ) . أنا أريد في main أنا أجعل المستخدم يدخل عددين و يرسلها إلى Function

لذلك أنشأت obiect في main

Function F=new Function(n,b);

و هنا يخرج لي الخطأ

أتمنى أن يكون السؤال واضح مع العلم أني لا أريد أن أنشأ كونتسركتر لا يستقبل شيء بل أريد أن انشئ كونسراكتر يستقبل عددين

تم تعديل هذه المشاركة بواسطة Al-waleed في 11 نوفمبر 2010 في 02:43

#2

الخطأ عندك ف

انك لابد من ان باعطاء المتغيرات قيمه افتراضيه وليكن

n = 0 ; 
b = 0 ;

وبعد ذلك تقوم باستخدام الـ setter لاعاده تعيين القيم داخل الكلاس

مثلا

setNum(n);
setDenom(b);

بالتوفيق :)

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 11 نوفمبر 2010 في 07:41

Software Developer
Mahmoudkelany.com


 

#3

الكود يحتاج إلى بعض الترتيب فقط

public static void main(String[] arg) {
    	Scanner  input = new Scanner(System.in);
    	int  	n=0,
             	b 	= 0;
    	Function F 	= new Function(n, b);

    	System.out.println("Enter num ");
    	n = input.nextInt();
    	F.setNum(n);
    	System.out.println("Enter den");
    	b = input.nextInt();
    	F.setDenom(b);
    	F.display();                 


    	} 

}

تم تعديل هذه المشاركة بواسطة EMNALI في 11 نوفمبر 2010 في 14:23

وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ

#4
Mahmoud Kelany كتب:

الخطأ عندك ف

انك لابد من ان باعطاء المتغيرات قيمه افتراضيه وليكن

n = 0 ; 
b = 0 ;

وبعد ذلك تقوم باستخدام الـ setter لاعاده تعيين القيم داخل الكلاس

مثلا

setNum(n);
setDenom(b);

بالتوفيق :)

قد يكون سأجربها

و سأنظر

شكرًا بارك الله فيك

EMNALI كتب:

الكود يحتاج إلى بعض الترتيب فقط

public class TestFunction 
{ 

    	public static void main(String[]arg) 
    	{ 
            	Scanner input=new Scanner(System.in); 
            	int n,b; 
            	Function F=new Function(); 
            	System.out.println("Enter num "); 
            	n=input.nextInt();
   F.setNum(n); 
  System.out.println("Enter den"); 
            	b=input.nextInt();
   F.setDenom(b);  	
  F.display(); 



    	} 

}

لا حظ الكونستراكتر في الصنف Functiom يستقبل عددين

لذلك يجب أن نرسله في الأوبجكت عددين

شكرًا :blush:

تم تعديل هذه المشاركة بواسطة Al-waleed في 11 نوفمبر 2010 في 11:44

#5

أخي الكريم هل قمت بالتجربة قبل الحكم على الموضع

وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ

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