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

نبتدى منين الحكاية...(الجافا)..

بدأه فراولة في 29 يونيو 2008 · 15 رد · 2,116 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لا أخفى عليكم ..

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

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

جعلها الله فى موازين حسناتكم ..

وهذة هى بداية الحكاية ..وليست الجافا..:)

لان من لا يشكر الناس لا يشكر الله

* ثانيا لانى مبتدئة جافا بتواجهنى مشاكل كتيرة عندما أكتب الكود فى

Jcreator

وبتلخم فى حلها ..فحبيت أفتح موضوع هنا لما تواجهنى اى مشكلة أكتبها فيه

لأنى لاأريد مضايقتكم بكلمات أريد مساعدة أو كما يوجد فى القوانين الخاصة بالمنتدى ...

سؤال اليوم :wub:

هل يمكن مبتدىء جافا يعرف قشور فى لغة السى

ان يتعلم

lمبادىء الجافا فى وقت قصير

وما هى المدة لمعرفة الاساسيات ولا أردت ان اقول تعلم اللغة كاملة لان كل شىء بمجرد ان تبدأ فيه تجده مثل البحر وتجد ان علمك لا شىء فيه

يعنى انا دلوقتى بقرأ فى كتاب نزلته من هذا المنتدى عن oop

وكتاب اخر باللغة الانجليزية hwo to learn java?

وبماذا تنصحونى

وأشكركم مرة اخرى على سعة صدوركم....

2006-10-07-03_24_36mohamad.gif

2006-10-07-03_23_37galal.gif
#2

انا لااحب الاسئله قبل الدخول فيها

بعد ماتجرب وترى انك لم تحقق شئ لك ان تتسائل

اما من قبل ان تبدء تتسائل وتكبر الموضوع في راسك ، كأنك تحطم نفسك

#3

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

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

المهم البداية الجيدة ثم الاستمرارية و التصميم

استخدام خاصية البحث فى المنتدى افضل كثيرا من ان يفتح كل عضو موضوع خاص بأسئلته و باذن الله معظم الاسئلة نوقشت من قبل

#4

باعتبار كما تقولين لديق قشور في لغة السي يعني بأنك مبرمجة من قبل وبالتالي لا اعتقد بأنك ستحتاجين وقت طويل لتعلم الاختلافات والمكاتب الضرورية في جافا

وفي حال احتجت اي مساعدة فالجميع هنا اخوة ويمكنك السؤال في اي وقت

اهلا وسهلا بك وبالتوفيق

ready to do full students projects

digitalscenter@hotmail.com

+966530357742

#5

يبدو أن الإخوة صعقوكي بردودهم :lol:

على كل حال لا شيء معقد، تعلمي ما شئت فقط لا تضييعي وقتك بما ليس ضروري، لأنك إن قطعت مجهودك مع الجافا من أجل سي، فعندما تعودين لجافا ستنسين كل ما قرأتي في سي.

حظ موفق.

تم تعديل هذه المشاركة بواسطة ph1 في 30 يونيو 2008 في 10:09

#6

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

الاخوة الكرام

اعتذر عن التأخير فى الرد النت كان ضعيف

وشكرا لكم على الاهتمام بالرد

وشكرا لكل من رد سواء بالايجاب او بالسلب

أكيد كل همكم طبعا المصلحة ...جزيتم خيرا

(بالفعل الحمد لله بدات الجافا من شهر ..كنت اخدت دورة صيفية اسبوعين يوميا فى الجامعة هى كانت بسيطة جداا لكن استفدت منها

وبعدها بدأت انزل كتب عربى وأقرئها ..من موقع كتب ..

وحسيت انها فى شبيهه شويه بالسى بلس ... )

لغاية دلوقتى كل اللى عملته انى بقرأ واكتب برامج بسيطة جدا

وانا الان بدرس كتاب اسمه تقريبا باللغة الانجليزية How to learn Java

لكن حاسة انى مشتتة وفى جزئيات بتبقى بسيطة لكن لم أفهمها ...

وعايزة برامج بسيطة أبدأانفذها واكتبها بنفسى حتى اعرف انا هقدر اكمل فيها ولا ... :wacko:

وكنت ناوية اتعلم اللغة دى فى الاجازة ..قبل بدء الدراسة فكان قصدى هل هذة المدة تجعلنى ملمة بها ...

...................................

الاخ ph1

شكرا لك ... الاخوة لم يصعقونى اكيد همهم المصلحة العامة ..:)

المهم نتعلم من الكلام .....

2006-10-07-03_24_36mohamad.gif

2006-10-07-03_23_37galal.gif
#7

لدى مشكلتين مع Jcreator

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

وأعمل run يخرج نفس المخرجات الخاصة بالبرنامج السابق ..

الثانية

كاتبه برنامج ...ولما بعمله build

بيظهرلى ان الجملة دى بها خطأ...

gradevalue = Integer.parseInt( grade );

دة الخطأ....

variable grade might not have been initialized

.....................

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

public class aa{
	public static void main(String[]args){

	int total,
	gradecounter,
	gradevalue,
	average;
String grade;

total=0;
gradecounter=1;
while (gradecounter<=10)
grade=JOptionPane.showInputDialog("ENTER");
gradevalue = Integer.parseInt( grade );
total+=gradevalue;

	average=total/10;
	JOptionPane.showMessageDialog( null,
 "Class average is " + average, "Class Average",
 JOptionPane.INFORMATION_MESSAGE );
}
}
2006-10-07-03_24_36mohamad.gif

2006-10-07-03_23_37galal.gif
#8

السلام عليكم :lol:

الخطأ اعتقد يكمن في هذا السطر :

grade=JOptionPane.showInputDialog("ENTER");

و التعديل هو :

String grade=JOptionPane.showInputDialog("ENTER");

اي ان الخطأ انك لم تعرف نوع المتغير grade و بما ان هذا المتغير يدخل بواسطة JOptionPane لذا لا بد

ان يكون من نوع String.

اتمنى ان اكون افدتك يا اخ فراولة .. و ان كنت متأخراً نوعا ما .. لكن ربما اكون ساعدتك

تحياتي لك ..

#9

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

هناك مشكلة أخرى بالكود قد لا تظهر وقت ال

compile

نسميها

logical error

أنتبه أخي

while (gradecounter<=10)

}

grade=JOptionPane.showInputDialog("ENTER");

gradevalue = Integer.parseInt( grade );

total+=gradevalue;

{

#10
alishtain كتب:
السلام عليكم :lol:

الخطأ اعتقد يكمن في هذا السطر :

grade=JOptionPane.showInputDialog("ENTER");

و التعديل هو :

String grade=JOptionPane.showInputDialog("ENTER");

اي ان الخطأ انك لم تعرف نوع المتغير grade و بما ان هذا المتغير يدخل بواسطة JOptionPane لذا لا بد

ان يكون من نوع String.

اتمنى ان اكون افدتك يا اخ فراولة .. و ان كنت متأخراً نوعا ما .. لكن ربما اكون ساعدتك

تحياتي لك ..

الاخ الفاضل ...شكرا لك على الاهتمام بالرد

وحرصك على المساعدة

حضرتك لو نظرت للسطر السابع فى البرنامج تجد ان

gradeتم تعريف

على انها string

يعنى هذا الاحتمال مستبعد

سعدت بردك

شكرا لك ...

2006-10-07-03_24_36mohamad.gif

2006-10-07-03_23_37galal.gif
#11
أبوعمار محمود المصري كتب:
السلام عليكم ورحمة الله

هناك مشكلة أخرى بالكود قد لا تظهر وقت ال

compile

نسميها

logical error

أنتبه أخي

while (gradecounter<=10)

}

grade=JOptionPane.showInputDialog("ENTER");

gradevalue = Integer.parseInt( grade );

total+=gradevalue;

{

الاخ الفاضل / أبو عمار

شكرا لك على اهتمامك وحرصك على تقديم المساعده ..

لم أفهم ما هى المشكلة بالتحديد ... التى تقصدها

وبالنسبة لنوع الخطأ اللى كتبته فى سؤالى الاول

variable grade might not have been initialized

قرات انه ينتج من عدم وضع قيمة ابتدائيه لمتغير

قبل استخدامه لكننى واضعه للمتغير قيمة ابتدائية

وبما إن حضرتك اتكلمت عن logic error

كان عندى سؤال ..ايه الفرق بين

logic error &syntax error??

للاهمية

هذة الاسئلة ليست لشخص بعينة ...او هى حل لواجب ..انما هى للاستفادة من خبراتكم ..؟؟

شكرا لكم جميعا

جزاكم الله خيرا

وجعل ما تقدمونه فى موازين حسناتكم

2006-10-07-03_24_36mohamad.gif

2006-10-07-03_23_37galal.gif
#12

Alslam alukom war7mto Allah

The problem is caused due to not intilized local variabe grade

it should be

String grade=" "; //for example

and you didn't face this error if you did what I told you to put {} after while like the following code

public class aa{

public static void main(String[]args){



int total,

gradecounter,

gradevalue,

average;

String grade;



total=0;

gradecounter=1;

while (gradecounter<=10)

{

grade=JOptionPane.showInputDialog("ENTER");

gradevalue = Integer.parseInt( grade );

total+=gradevalue;

}

average=total/10;

JOptionPane.showMessageDialog( null,

"Class average is " + average, "Class Average",

JOptionPane.INFORMATION_MESSAGE );

}

}
#13

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

أنواع المشاكل المحتمل حدوثها

Syntax error,Run time error ,Logical error

Syntax error

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

مثال

if(x=0)



System.out.print("X value is zero");

هل فكرتم ما المشكله هنا ؟ هل عرفتموها

احسنت :clapping: المشكله هنا هي في if(x=0) يجب أن تكون if(x==0) لأن ال if لازم تأخذ قيمة من نوع Boolean

لا تنسوا مرة أخرى Syntax error هي مشكلة في قواعد كتابة الكود تحدث قبل تنفيذ االبرنامج ويكتشفها الكومبايلر

النوعين الأخرين من المشاكل يحدثوا بعد أن يتم تشغيل البرنامج أي أنه لا مشكله في شكل وقواعد الكتابة الخاصة بالكود إذا كيف تحدث المشاكل

Run Time error

تخيل معي المثال التالي

String value=JoptionPane.showInputDialog("Enter your age");



int age=Integer.parseInt(value);



System.out.println(''your Birth year is "+(2008-age));

هذا مثال بسيط يأخذ من المستخدم سنه ويطبع له سنة ميلاده لو شغلناه

Enter your age

25

your Birth year is 1983

ماذا لو أدخل المستخدم أسمه بدلا من سنه

Enter your age

Farwla

ماذا سيحدث ؟

سيتحدث مشكلة نسميها Exception or run time error

نخلص من ذلك أن Exception or run time error يحدث نتيجة خطأ أثناء تشغيل البرنامج من المستخدم أو المبرمج

يمكنك الأن أن تقول لي أنتبه لكلامك أيه دخل المبرمج طالما أتم عمله والبرنامج عمل كومبايل من غير مشاكل هو كل حاجة المبرمج

صبرا أخي أيه رأيك في الكود التالي

int[] arr=new int[3];

arr[100]=0;

الكومبايلر مش هيطلع مشكلة فيه إذا هذا ليس سينتاكس أيرور لكن عند تشغيله هيطلع أيكسبشن كبير

ArrayoutofBoundException

لأن البرنامج بيحاول يجيب الرقم الصحيح رقم 100 مع إن ال المصفوفة معرف بها 3 أرقام صحيحة فقط وهذا خطأ المبرمج قد لا يكون نائم جيدا

أكيد بتقول في نفسك هو ليه الكومبايلر مش هيطلع أيرور

الكومبايلر ملوش دعوى بالأرقام ومعانهيا وهي كام هو يهمه شكل كتابة الكود يعني يهمه تكتب

arr[100]=0;

لكن يعترض لو كتبت

arr["Ahmed"]=0;

المشكلة الثالثة

وهي Logical error

وهي تحدث بعد ما لا يوجد مشكلة بالكود أي مفيش سينتاكس أيرور وأيضا لا توجد مشكلة بعد تشغييل البرنامج

ما هذا هل أعني ما قلت مفيش مشكلة في الكود ومفيش مشكلة في ال رن تايم توقف البرنامج!!!!!!!!!!!

إذا ما المشكلة ؟

تخيل المثال التالي

String value1=JoptionPane.showInputDialog("Enter num1");

int v1=Integer.parseInt(value1);

String value2=JoptionPane.showInputDialog("Enter num2");

int v2=Integer.parseInt(value2);

int sum=v1-v2;

System.out.println("Addation is "+sum);

عند تشغيلة

Enter num1

9

Enter num2

6

Addation is 3

هنا البرنامج يعمل ولكن مشكلته في المنطق أو ال logic أنه يطرح والمفروض أنه يجمع والحقيقة أن هذا أصعب أنواع المشاكل في أكتشافه لأن حقيقة البرنامج مش هيضرب أو يقف لكن هيطلع ناتج غير منطقي

أرجو أن أكون وضحت ولو قليل وبالتوفيق

#14

الاخ ابو عمار ..

بجد شكرا ليك ..

اولا ..لانى لما وضعت الاقواس البرنامج انظبط معاى

ثانيا ..لانى فهمت الفرق بين error التلاتة

عندى سؤال ..

هو ممكن فى لغة الجافا نعلن عن متغير ونخزن فيه اكتر من قيمة ..

يعنى مثلا فى الجزء ده ..


str1="Enter how many number you want to store in the array:";
str2="Enter number # ";
int n, odd=0;
s=JOptionPane.showInputDialog(str1);

n=Integer.parseInt(s);
int [] arr=new int[n];
output= " ";
for(int i=0; i<arr.length; i++){
s=JOptionPane.showInputDialog(str2+(i+1)+":");
arr=Integer.parseInt(s);
output+=arr+"\n ";
String s, output, title, str1, str2;

البرنامج اشتغل معاى وكله تمام ..

لكن كنت عايزة افهم

السطرين اللى باللون الاحمر..

فى هذا الجزء من البرنامج السابق

s=JOptionPane.showInputDialog(str1);

s=JOptionPane.showInputDialog(str2+(i+1)+":");

.ليه لم يذكر ان فيهم خطأ على الرغم ان متغير تم حجز فيه حاجتين مختلفتين

انا اسفة انى بزعجكم بأسألتى الكتيرة

يلا كله فى موازين حسناتكم ..بإذن الله

:)

تم تعديل هذه المشاركة بواسطة فراولة في 8 يوليو 2008 في 16:16

2006-10-07-03_24_36mohamad.gif

2006-10-07-03_23_37galal.gif
#15

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

ذهبت منى وأشترت إناء للطعام فطبخت فيه اليوم بطاطس ثم في اليوم التالي طبخت برجر بالبيض هل هذا ممكن ؟ :cash:

بالتأكيد ممكن لأن الأناء متغير ممكن أغير فيه وأضع فيها أشياء مختلفة ولكن هو سيحمل قيمة واحدة واحدة فقط إما البطاطس أو البرجر بالبيض لا ينفعون في نفس الوقت مع بعض

وهكذا المتغيرات في :thumb_up:

Java

من أهم مميزاتها أنها يمكن أن تغير قيمتها من وقت لأخر

int x=0;

وبعد قليل من الوقت

 x=10;

وممكن أغيره العديد من المرات كما شئت

ولكن أخر قيمة يتذكرها هي أخر قيمة أخذها لذلك عند طباعة ال

 </P> 
System.out.println(x);</P>

بالتوفيق وبالهنا والشفا :D

#16

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

شرح حضرتك بسيط جدااا ولذيذ

وبيشبع ...يوووه ...بيتفهم بسرعة ...

بصراحة مقصرتش جزاك الله خيراااااا

..وتفضل العصير ده هدية .ابحث عنه فى المرفقات :) .

.اهو حلو فى الجو الحر ده ..

وبالهنا والشفا ...

ياريت ياجماعه اشوف تفاعل للاستفادة من الخبرات ...

وكلام فى سركم :ohmy: علشان تشربوا عصير ببلاش

فرصة ما تتعوض :thumb_up:

نكمل بقى الجزئيات اللى واجهتنى .. ..

. فى جزئية من برنامج لم استوعبها جيدا

.

فى نوع ترتيب المصفوفات المسمى ب

(Bubble Sort)

يتم الترتيب هنا ترتيب تنازلى ..لكن ازاى الواحد يفكر فيها وايه اللى حصل ...؟؟؟

ولا هو شكل محفوظ..؟!

for(int i=0; i<mark.length; i++)

output+=name+"\t"+mark+"\n";

for(int i=1; i<mark.length; i++)

for(int j=0; j<mark.length-1; j++)

if(mark[j]<mark[j+1]){

temp_mark=mark[j];

mark[j]=mark[j+1];

mark[j+1]=temp_mark;

temp_name=name[j];

name[j]=name[j+1];

name[j+1]=temp_name;

d3fce14ceb.bmp

تم تعديل هذه المشاركة بواسطة فراولة في 10 يوليو 2008 في 18:12

2006-10-07-03_24_36mohamad.gif

2006-10-07-03_23_37galal.gif

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