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

سؤال من مبتدأ جافا

مغلق
بدأه angel732 في 24 فبراير 2006 · 8 رد · 862 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

:blink: اني أواجه مشكلة في كتابة cods لل برنامج ب الجافا عن موضوع ال stacks

اريد كتابة برنامج لحساب المعادلة التالية (((y-1)/x)*(x+y)); والمشكلة لا اعرف كيف ممكن اعرفها

هل استطيع تعريفها String z=(((y-1)/x)*(x+y((; orاو لا استطيع هل ممكن تعريفها ك char [ ] z =(((y-1)/x)*(x+y));

,و سؤال اخر ...... سالساله بعد ان يجيبني احد اذا امكن

#2
angel732 كتب:
:blink: اني أواجه مشكلة في كتابة cods لل برنامج ب الجافا عن موضوع ال stacks

اريد كتابة برنامج لحساب المعادلة التالية (((y-1)/x)*(x+y)); والمشكلة لا اعرف كيف ممكن اعرفها

هل  استطيع تعريفها String z=(((y-1)/x)*(x+y((; orاو لا استطيع هل ممكن تعريفها ك char [ ] z =(((y-1)/x)*(x+y));

,و سؤال اخر ...... سالساله بعد ان يجيبني احد اذا امكن

أخي الكريم إكتب الكود التالي

class M {
public static void main(String[]argv){
int x=5;
int y=10;
System.out.println(((y-1)/x)*(x+y));
}
}

فتظهر لك النتيجة

ولا يمكن معاملتها كمتغير charلانها تدل على سلاسل الحروف ولا تدل على الأرقام وإذا دلت على الأرقام فإنها تظهره على شكل جدول الاسكي

mofeedchaar@hotmail.com

#3

ااني لا أريد طباعتها فقط هاي شغلة بسيطة اريد تعريفها واستعمالها في البرنامج لحسابها وذلك عن طريق استخدام stack الان class stack موجود عندي بس المشكلة في التعريف المعادلة حتي استطيع تمرير العادلة وفصل العمليات عن القيم لا اعرف كيف اعمل هل شغلي ؟؟؟؟؟؟كيف

#4

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

#5

ا أخر موعد أبل يوم الثلاثاء لو تجابوبوني......بس لو كان الجواب بعد مش مشكلة منسمع اراء تانية

لتوضيح الموضوع اكثر .......اريد تمرير المعادلة داخل داخل loop بتصور لحتى اادر افصل العمليات ووضعها في stack و المتغيرات في stack اخر معرف باسم تاني ....... بس ماني عارفة كيف منعرفها ............برضو في شغلة محيراني انو كيف رح اادر احول object الى integer عاديين .....و العمليات مثل الجمع والضرب وين بتصير ؟؟؟؟؟؟هل بتصير في stack تالت ممكن اعرفو temp?????????

اتمنا تكون اسئلتي مصاغة بشكل مفهوم ........بس انا مبتدئة بالجافا و ما بعرف فيها كتير انا بعرف c++ و بصور انو نفس ال sentaks مع شوية تغيرات ..................

#6

stack.txtarraystack.txtلسلام عليكم

ممكن تعرفي stack جاهزة من class جاهز اسمه stack

لكن هناك طريقة اخرى وهي اننا نعرف interface اسمه stack بعدين نعملله implementation بواسطة مثلا array وانا هأعطيكي هدا class ما عليكي الا ببرنامجك تعملي objects من هدا ال class وبعدين تستدعي ال methods الخاصة بال stack في برنامجك

اولا اعملي لل interface stack عملية compile بعدين run

ثانيا اعملي compile and run للبرنامج اللي انا معطياكي اياه اسمه arraystack

تالتا اعملي البرنامج الخاص فيكي تبع العملية الحسابية وبعد هيك اعملي objects كالاتي:

( 10)arraystack stack1 = new arraystack

( 10)arraystack stack2 = new arraystack

الرقم 10 يدل على كم عنصر بال stack اللي انتي عايزاه

بعدين بتستخدمي ال methods الخاصين بال stack هكذا

(الاوبجيكت)stack1.push

()stack1.pop

ونفس الشي لstack2

.

#7

*-) يمكن سؤالي مش واضح ...........انا معرفة الclass Stack and another one called Arry stack لكن المشكلة انا لازم اعمل تطبيق عليهم

Test class و هنا تواجهني المشكلة ...........اني احاول ادخال معدلة التالية (((y-1)/x)*(x+y)); ف السؤال كيف اعرفا حتى اتمكن من التطبيق

عليها وعمل push and pop ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟مش عارفة كيف ؟؟؟؟

:unsure:

#8

أتمنى ان اكون فهمت سؤالك انتى تريدى تعريف قيمة ناتج المعادلة

اختى العزيزة

ارجو ان يكون هذا ما تريدين معرفته

يكون تعريفه من نوع

double

لان الناتج يكون فى هذه الحالة ممكن ان يحتوى كسر عشرى او مئوى و بذلك يكون الناتج متغير

double d=(((y-1)/x)*(y+1));

class sta

{

public static void main(String a[])

{

int x=5;

int y=16;

double d=(((y-1)/x)*(y+1));

System.out.println(d);

}

}

اتمنى ان اكون قد توصلت لما ترغبين معرفته

#9

لقد توصلت للحل و شكرا لمن حاول مساعدتي

اود المشاركتكم ب الحل لمن يهمة الامر هذا اكيد جزء من testclass

البرنامج تطبيق على stack

[

System.out.println(" Enter The Equation at the end press ;");

z = Console.getString();

//get the value of x&y from the keyboard

System.out.println("PLESE ENTER THE VALUE OF [X] ");

x = new Integer(Console.getInteger());

System.out.println("PLESE ENTER THE VALUE OF [Y] ");

y = new Integer(Console.getInteger());

ArrayStack operators = new ArrayStack(z.length());

ArrayStack operands = new ArrayStack(z.length());

int i = 0, j = 1;

while (z.charAt(i) != ';') {

if (z.charAt(i) == '('){ //ignore the'(' case

i++;j++;

continue;

}

else if (z.charAt(i) == 'x') {// push x on the operand stack

operands.push(x);

i++;j++;

continue;

}

else if (z.charAt(i) == 'y') {// push x on the operand stack

operands.push(y);

i++;j++;

continue;

}

else if (isOperator(z.charAt(i))) {//push the operatuoin in the operation stack

operators.push(new String(z.substring(i,j)));

i++;j++;

continue;

}

else if (z.charAt(i) == ')') {// Evaluat the equation in case ')'

a =new Integer(operands.pop().toString());

b = new Integer(operands.pop().toString());

s= (String) (operators.pop().toString());

OPR = s.toString().charAt(0);

Evaluate(OPR, a, B);

operands.push(new Integer(Evaluate(OPR, a, B)));

i++;j++;

continue;

}

else { //push the operands in the operannds stack

operands.push(new String(z.substring(i,j)));

i++;j++;

continue;

}

} //End while loopCODE]

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

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