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

برنامج ATM بسيط ولكن لااستيطع تنفيذة

بدأه Abu rafaa في 28 فبراير 2011 · 6 رد · 508 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليم اخوان,

اسف على ازعاجكم , بكتب برنامج بسيط لادخال قيم ثلاثة ATM. المشكلة التي تواجهني هية انة البرنامج لاينفذ والمشلكة هية Cannot find symble للميثود في الsubclass.

حاولت امسح اي class في الفولدر و اغلقت وفتحت الcmd ولكن نفس المشكلة . ارجو منكم المساعدة.

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

public class ATM (سوبر كلاس)
{
	int customerID;
	float  balance;
	String cardType;
	int withdralInput;

ATM( int inCustomer, float inBalance,String inCard, int inWDI	)
		{
			customerID= inCustomer;
			balance = inBalance;
			cardType= inCard;
			withdralInput= inWDI;
		}

	int getId()
		{
			return customerID;
		}
	String getCard()
		{
			return cardType;
		}

	float getBalance()
		{
			return balance;
		}
	 int getwInput()
			{
					return withdralInput ;
			}

	int getWithdrwal()
		{
			if (balance>0)
			 	{
					return getwInput();
				}
			else 
				{
					return  0;
				}

		}



}

(سب كلاس)

public class SATM extends ATM
{
	int deposet;
	int newBalance;
	float userInput;

	SATM (int inCustomer, float inBalance,int inWDI, String inCard, float inUI)
	{	
		super(inCustomer,inBalance,inCard, inWDI);
		//deposet=inDeposet
		// newBalance = inNewBalance;
		 userInput= inUI;


	}
			 float getInput()
			{
					return userInput;
			}


			float getDeposet()
				{
					return balance + getInput() ;
				}

			float getNewBalance()
				{
					return getDeposet();
				}

}

واخيرا الدرايفر او التيستر

public class AtmCheck]
{
	ATM atm1;
	ATM atm2;
	ATM atm3;

	AtmCheck()
	{		//	idnumber  balance  card type	userenter
		atm1= new ATM(10030001,500, "Master Card",40);
		atm2= new SATM(3332342,23332,8, "Visa",200);
		atm3= new DATM(23422224, 443, "American Express",43, 55);
	}

	void processClient()
	{

		System.out.println("\n"+"\n"+"Welcome Customer: "+  atm1.getId() +"\t"+"Your Account Balance is: "+" "+"$"+" " + atm1.getBalance()+"\n"+"\n");	
		System.out.println("You Are Usiung:" +" "+atm1.getCard()+"\n"+"\n");
		System.out.println("You Ordered to Withdrawl:"+" "+" "+"$"+" " + atm1.getWithdrwal()+" "+"Please Don't Forget to Take Your Money"+"\n"+"\n");
		System.out.println("\t"+ "\t"+ "Thank You for Your Business With US"+"\n"+"\n");
		System.out.println("----------------------------------------------------------------");
		System.out.println("\n"+"\n"+"Welcome Customer: "+ + atm2.getId()+"\t"+"Your Account Balance is:+"+" "+"$"+" " + atm2.getBalance()+"\n"+"\n");	
		System.out.println("You are Using :"+" "+atm2.getCard()+"\n"+"\n");	
		System.out.println ("You are orderd to deposet  "+" "+atm2.getWithdrwal()+" "+" "+"\n"+"\n");	
		System.out.println("\t"+"\t"+"Thank You and Have a Great Day"+"\n"+"\n");	
		System.out.println("----------------------------------------------------------------");
		System.out.println("\n"+"\n"+"Welcome Customer: "+ atm3.getId()+"\t  "+ "Your Account Balance is: "+"$"+" "+	atm3.getBalance()+"\n"+"\n");	
		System.out.println("Your are Using:"+" "+ atm3.getCard()+"\n"+"\n");	
		[System.out.println(atm3.getInput()+"\n"+"\n");المشكلة هنا
		System.out.println("\t"+"\t"+"\t"+"Thank You "+"\n"+"\n");	
		System.out.println("----------------------------------------------------------------");


	}

	public static void main (String srgs[])

		{
			AtmCheck at = new AtmCheck();
			at.processClient();
		}
	}

post-241353-072247200 1298900605_thumb.j

المرفقات
command prompt.jpg

تم تعديل هذه المشاركة بواسطة Abu rafaa في 28 فبراير 2011 في 16:49

#2
atm3 = new DATM(23422224, 443, "American Express", 43, 55);

SATM وليست DATM

وطبعا ترتيب المدخلات

   atm3 = new SATM(23422224, 443, 43, "American Express", 55);

والسطر دا كدا

System.out.println(atm3.getwInput() + "\n" + "\n");

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 28 فبراير 2011 في 16:55

Software Developer
Mahmoudkelany.com


 

#3
Mahmoud Kelany كتب:

atm3 = new DATM(23422224, 443, "American Express", 43, 55);

SATM وليست DATM

وطبعا ترتيب المدخلات

   atm3 = new SATM(23422224, 443, 43, "American Express", 55);

والسطر دا كدا

System.out.println(atm3.getwInput() + "\n" + "\n");

شكرا اخ محمد على الرد السريع, انا الظاهر اخطئت بوضع المشكلة هية في ال SATM وليس DATM لانة كل منهما كلاس منفصل

public class AtmCheck]
{
        ATM atm1;
        ATM atm2;
        ATM atm3;

        AtmCheck()
        {               //      idnumber  balance  card type    userenter
                atm1= new ATM(10030001,500, "Master Card",40);
                atm2= new SATM(3332342,23332,8, "Visa",200);
                atm3= new DATM(23422224, 443, "American Express",43, 55);
        }

        void processClient()
        {

                System.out.println("\n"+"\n"+"Welcome Customer: "+  atm1.getId() +"\t"+"Your Account Balance is: "+" "+"$"+" " + atm1.getBalance()+"\n"+"\n");  
                System.out.println("You Are Usiung:" +" "+atm1.getCard()+"\n"+"\n");
                System.out.println("You Ordered to Withdrawl:"+" "+" "+"$"+" " + atm1.getWithdrwal()+" "+"Please Don't Forget to Take Your Money"+"\n"+"\n");
                System.out.println("\t"+ "\t"+ "Thank You for Your Business With US"+"\n"+"\n");
                System.out.println("----------------------------------------------------------------");
                System.out.println("\n"+"\n"+"Welcome Customer: "+ + atm2.getId()+"\t"+"Your Account Balance is:+"+" "+"$"+" " + atm2.getBalance()+"\n"+"\n");  
                System.out.println("You are Using :"+" "+atm2.getCard()+"\n"+"\n");     
                System.out.println ("You are orderd to deposet  "+" "+atm2.getInput()+" "+" "+"\n"+"\n");   هنا المشكلة
                System.out.println("\t"+"\t"+"Thank You and Have a Great Day"+"\n"+"\n");       
                System.out.println("----------------------------------------------------------------");
                System.out.println("\n"+"\n"+"Welcome Customer: "+ atm3.getId()+"\t  "+ "Your Account Balance is: "+"$"+" "+    atm3.getBalance()+"\n"+"\n");   
                System.out.println("Your are Using:"+" "+ atm3.getCard()+"\n"+"\n");    
                [System.out.println(atm3.withdrawl+"\n"+"\n");
                System.out.println("\t"+"\t"+"\t"+"Thank You "+"\n"+"\n");      
                System.out.println("----------------------------------------------------------------");


        }

البرنامج ينفذ زي الفل بس المشكلة لما الtaster يحاول ينفذ ميثود من السب كلاس بتطعلي المشكلة دي.

بارك الله بيك و ان شاء تئدر تساعدني .

تم تعديل هذه المشاركة بواسطة Abu rafaa في 28 فبراير 2011 في 18:18

#4
Abu rafaa كتب:

شكرا اخ محمد على الرد السريع, انا الظاهر اخطئت بوضع المشكلة هية في ال SATM وليس DATM لانة كل منهما كلاس منفصل

public class AtmCheck]
{
        ATM atm1;
        ATM atm2;
        ATM atm3;

        AtmCheck()
        {               //      idnumber  balance  card type    userenter
                atm1= new ATM(10030001,500, "Master Card",40);
                atm2= new SATM(3332342,23332,8, "Visa",200);
                atm3= new DATM(23422224, 443, "American Express",43, 55);
        }

        void processClient()
        {

                System.out.println("\n"+"\n"+"Welcome Customer: "+  atm1.getId() +"\t"+"Your Account Balance is: "+" "+"$"+" " + atm1.getBalance()+"\n"+"\n");  
                System.out.println("You Are Usiung:" +" "+atm1.getCard()+"\n"+"\n");
                System.out.println("You Ordered to Withdrawl:"+" "+" "+"$"+" " + atm1.getWithdrwal()+" "+"Please Don't Forget to Take Your Money"+"\n"+"\n");
                System.out.println("\t"+ "\t"+ "Thank You for Your Business With US"+"\n"+"\n");
                System.out.println("----------------------------------------------------------------");
                System.out.println("\n"+"\n"+"Welcome Customer: "+ + atm2.getId()+"\t"+"Your Account Balance is:+"+" "+"$"+" " + atm2.getBalance()+"\n"+"\n");  
                System.out.println("You are Using :"+" "+atm2.getCard()+"\n"+"\n");     
                System.out.println ("You are orderd to deposet  "+" "+atm2.getInput()+" "+" "+"\n"+"\n");   هنا المشكلة
                System.out.println("\t"+"\t"+"Thank You and Have a Great Day"+"\n"+"\n");       
                System.out.println("----------------------------------------------------------------");
                System.out.println("\n"+"\n"+"Welcome Customer: "+ atm3.getId()+"\t  "+ "Your Account Balance is: "+"$"+" "+    atm3.getBalance()+"\n"+"\n");   
                System.out.println("Your are Using:"+" "+ atm3.getCard()+"\n"+"\n");    
                [System.out.println(atm3.withdrawl+"\n"+"\n");
                System.out.println("\t"+"\t"+"\t"+"Thank You "+"\n"+"\n");      
                System.out.println("----------------------------------------------------------------");


        }

البرنامج ينفذ زي الفل بس المشكلة لما الtaster يحاول ينفذ ميثود من السب كلاس بتطعلي المشكلة دي.

بارك الله بيك و ان شاء تئدر تساعدني .

(البرنامج شغال لما يستدعي الميثود الي في السوبر كلاس, بس لما اعمل استدعاء للميثود بالسب كلاس البرناج بيطلع ERROR)

(مش عاوز ايخليني اعلم override كمان, بيطلعلي المثود للsuperclass )

post-241353-050464900 1298906699_thumb.j

المرفقات
Untitled.jpg

تم تعديل هذه المشاركة بواسطة Abu rafaa في 28 فبراير 2011 في 19:05

#5

لم تضع الـفئة الثالته DATM لذلك حسبتها خطأ

على العموم

اجعل الدوال التى فى الـ subclass جميعها public

او بالاخص التى تريد ان تستخدمها

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 28 فبراير 2011 في 19:04

Software Developer
Mahmoudkelany.com


 

#6
Mahmoud Kelany كتب:

لم تضع الـفئة الثالته DATM لذلك حسبتها خطأ

على العموم

اجعل الدوال التى فى الـ subclass جميعها public

او بالاخص التى تريد ان تستخدمها

شكرا اخ محمود,

جعلت الدوال public ولكن المشكلة مستمرة .

تم تعديل هذه المشاركة بواسطة Abu rafaa في 28 فبراير 2011 في 19:24

#7

ضع الكود كاملا

لان الكود ينقصه DATM class وحدد ما هو الخطأ الذى يحدث لك

ونساعدك فيه

Software Developer
Mahmoudkelany.com


 

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…