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

ارجو المساعدة يامبرمجي الجافا .. فيما يخص الاستثناءات

بدأه umarkj في 3 مايو 2010 · 8 رد · 617 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ...

لو سمحتوا عندي واجب حاولت احله وكله يطلع لي اخطااء ممكن تساعدوني ..

اكتب برنامج يعرف الحساب البنكي bankaccount حيث أن لكل حساب رقم idورصيد amount يجب أن لا يقل عن 1000 ريال

والا سوف يوضع 1000 , كما يحتوي الصف على بانية .

• عرف الدالة Deposit والتي تقوم بإيداع مبلغ في الحساب مع رمي باستثناء يدوي يطبع رسالة للمستخدم في حال أن المبلغ أصغر من صفر

• عرف الدالة withdrawal() والتي تقوم بسحب مبلغ من الحساب ويطبعة مع رمي باستثناء يدوي يطبع رسالة إذا كان الرصيد = 0 أو المبلغ المراد سحبة أكبر من الرصيد .

• عرف الدالة Tostring() والتي تقوم بطباعة بيانات الحساب البنكي

• عرف الدالة الرئيسية باسم test والتي يجب أن توفر الوظائف التالية

- انشا كائن برقم حساب افتراضي ورصيد 4000 ريال ثم استدعي الدالة المناسبة لإيداع المبالغ من 50 ريال إلي – 10 ريال

for (i=-10;i<=60;i+10)

- سحب المبالغ من 4000 إلي 4500 (ليكن مقدار الزيادة في التكرار = 50 ) for (i=0;i<=4500;i+50)

شكرا ..

الله يجعله بميزان حسناتكم ,,

#2

اعرض محاولاتك لنساعدك

تحياتي

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

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

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

728x90.png

#3

بسم الله الرحمن الرحيم ..

قمت بالمحاولة وهذه محاولتي :

import java.io.*;

class BankAcount{

private long ID;

private int Amount;

public BankAcount (int a)

{if(a>=1000)

Amount=a;

else

Amount=1000;

}

public void Deposit (int D)

{if (D>0){

Amount+=D;

System.out.println("the new amount is"+Amount);}

else

throw new IllegalArgumentException();

}

public long GetID(){ return ID;}

public void SetAmount(int a)

{if(a>=1000)

Amount=a;

else

Amount=1000;}

public void withdrawal(int t)

{if (amount>0&&t<amount){

Amount-=t;

System.out.println("the new amount is"+Amount);}

else

throw new IllegalArgumentException();

}

^ دالة withdrawal هل طريقة حساب السحب صحيحة , و هل الشرط صحيح ؟؟

public void toString()

{System.out.println("ID=" + ID + " Amount=" +Amount);

}

class Test{

public static void main(String []args)throws IOException{

DataInputStream br=new DataInputStream(System.in);

//BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

BankAcount B=new BankAcount(4000);

int D=-1;

do{

System.out.println("Enter D to Deposit");

try{

B.Deposit(D);

}

catch(IllegalArgumentException exc)

{System.out.println("erorr: negtive value enter anther value plz:" + exc.toString());

}

} while ( D<0)

}

}

int t;

System.out.println("Enter t to withdrawal");

if(t>amount) {

هل هذا صحيح الشرط ؟؟

try{

B.withdrawal(t);

}

catch(IllegalArgumentException exc)

{System.out.println("erorr: the value to be withdrawn is greater than the amount,enter another value plz:" + exc.toString());

}

}

if(amount=0) {

try{

B.withdrawal(t);

}

catch(IllegalArgumentException exc)

{System.out.println("erorr: the amount= 0" + exc.toString());

}

}

#4

بالنسبة للشرط الأول فهو صحيح

بالنسبة للشرط الثاني

int t; //يجب أن يكون في t قيمة حتى تستطيع المقارنة معها
System.out.println("Enter t to withdrawal");

if(t>amount)

في المرة القادمة ضع الشيفرة في الوسم code

تحياتي

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

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

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

728x90.png

#5

this is the BankAcount class

/**
 * 
 * @author Mahmoud Mahrous
 *  class BankAcount 
 * has id , amount 
 * constarctor takes id , amount as  a prameters
 * 
 */
class BankAcount {

    private long id;
    private int amount;

    public BankAcount(long id, int amount) {
        this.id = id;
        if (amount >= 1000) {
            this.amount = amount;
        } else {
            this.amount = 1000;
        }
    }
/**
 * 
 * @param depositValue
 * takes the depositValue as input parameter
 * check if the depositValue > 0
 *    then set account amount = amount + depositValue 
 *  else  print a error message
 * 
 */
    public void setDeposit(int depositValue) {
        if (depositValue > 0) {
            this.amount += depositValue;
            System.out.println("The new amount is" + this.amount);
        } else {
            System.out.println("The deposit value is less than or equal zero.");
        }
    }
/**
 * 
 * @param drawalValue
 * takes the drawalValue as in parameter
 * check if  drawalValue is less than the account amount and amoutn sub drawalValue >  4000
 * and the account amount not equal zero 
 * then  do the drawal order 
 * else 
 *    print error msg
 * 
 */
    public void withDrawal(int drawalValue) {
        if (this.amount > 0 && drawalValue <= this.amount && this.amount - drawalValue > 4000) {
            this.amount -= drawalValue;
            System.out.println("The new amount after drawal " + drawalValue + "$ =" + this.amount);
        } else if (amount == 0) {
            System.out.println("Sorry your account palance = 0");
        } else if (this.amount != 0 && this.amount - drawalValue < 4000) {
            System.out.println("Sorry your account can't have enough palcane for this drawal.");
        }
    }

    /**
     * 
     * @ toString
     * print the account information
     * 
     */
    @Override
    public String toString() {
        return "-------The account information-------\n\tID= " + this.id + " Amount= " + this.amount;
    }
}

this is the Test class

import java.util.Scanner;

/**
 *
 * @author Mahmoud Mahrous
 */
class Test {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        BankAcount bankAcount = new BankAcount(10, 4000); // create an BanckAcount object
        int depositValue = 0;
        // setDeposit in the account 
        for (int counter = 10; counter <= 60; counter += 10) {
            System.out.println("Enter your deposit value");
            depositValue = input.nextInt();
            bankAcount.setDeposit(depositValue);
        }
        System.out.println();
        System.out.println(bankAcount.toString()); // print the account information
        System.out.println();
        // do the drawal order
        for (int counter = 4000; counter <= 4500; counter += 50) {
            bankAcount.withDrawal(50);
        }
    }
}

Software Developer
Mahmoudkelany.com


 

#6

شكرا جزيلا ..

#7

أخ Eng.Hamzawy

رجاءاً لا تضع الشيفرة لأي أحد

نحن نريد أن نساعد الآخرين ونحل مشاكلهم

لكنا لا نريد أن يتكلوا

تحياتي

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

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

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

728x90.png

#8
اقتباس
أخ Eng.Hamzawy

رجاءاً لا تضع الشيفرة لأي أحد

نحن نريد أن نساعد الآخرين ونحل مشاكلهم

لكنا لا نريد أن يتكلوا

تحياتي

حاضر يا بشمهندس علاء

متاسف

كنت اريد المساعده فقط

وفهمت قصد حضرتك وجميل

ربنا يوفققكم ويوفقنا جميعا

سلام عليكم

Software Developer
Mahmoudkelany.com


 

#9

أعلم أنك تريد المساعدة

ولو كنت أشك في هذا

لكنت قلت كلاماً آخر :wink:

تحياتي

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

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

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

728x90.png

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

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

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

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

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