سوال، انتقاد، پیشنهاد و رفع خطاهای آموزش جاوا

Drago

پیشکسوت فعال فناوری اطلاعات
کاربر ممتاز
این تاپیک برای سوالات، انتقادات، پیشنهادات و از همه مهم تر رفع خطای کدهاییه که توی دوره خواهیم زد.
 

s.1.8.1.18

کاربر حرفه ای
کاربر ممتاز
کد:
public static void main(String[] args) {

}
حالا ما میایم و یه تیکه کد می‌نویسم که توی کنسول چاپ بشه :

کد:
public static void main(String[] args) {    
        System.out.print("Hello World!");
        
    }
امتحان کنید! اول فایل رو سیو کنید (اون دیسکته یا ctrl+s) بعد ctrl+f11 رو بزنید یا از منوی run گزینه run رو انتخاب کنید. جواب باید توی کنسول باشه.

این اولین جلسه ما بود. یه تاپیک سوا میزنم، اگه سوالی، پیشنهادی، انتقادی دارید یا کدتون به خطا خورده اونجا مطرح کنید.

عین خانواده ی سی نیاز نیست اولش کتابخونه ها رو بذاریم؟؟؟

برای من ارور میگیره:|



چرا اصن باید تو کلاس کد بزنم؟؟ جای دیگه ای پیدا نکردم:| یعنی شما تو کلاس تابع main رو میذارید؟؟ تو سی شارپ main قالب اصلی میشه!
کلاس ها رو توش استفاده میکنیم! و فقط هم یک main داریم
اگه میشه یه عکس بذارید ازش... من تا حالا یه خط کد جاوا هم ندیده بودم!!
ببخشید....ممنون..
 
آخرین ویرایش:

Drago

پیشکسوت فعال فناوری اطلاعات
کاربر ممتاز
۱. عین خانواده ی سی نیاز نیست اولش کتابخونه ها رو بذاریم؟؟؟

۲. برای من ارور میگیره:|
[عکس]

۳. چرا اصن باید تو کلاس کد بزنم؟؟ جای دیگه ای پیدا نکردم:| یعنی شما تو کلاس تابع main رو میذارید؟؟ تو سی شارپ main قالب اصلی میشه!
کلاس ها رو توش استفاده میکنیم! و فقط هم یک main داریم
اگه میشه یه عکس بذارید ازش... من تا حالا یه خط کد جاوا هم ندیده بودم!!
ببخشید....ممنون..
۱. یه سری کلاسهای اصلی جاوا به طور پیشفرض به پروژه add شده، مثلا java.lang که اساس جاوا هست، یا مثلا System. اگه چیزی فراتر از پیشرض لازم داشته باشیم اون بالا import میکنیم، به وقتش این موضوع رو هم با هم کار می‌کنیم.

۲. من به شما گفتم تعریف کلاس رو پاک کن؟! البته تا حدی حق با شماست، نباید فقط متد رو مینوشتم.
در واقع باید اینجوری باشه :

دقت کنید که گفتم Java حساس به بزرگ و کوچیکه، ولی شما اول System رو کوچیک نوشتی...


۳. بله کدی که میزنید باید توی کلاس باشه، اما نه الزاما یه کلاس. اینجا هم ما فقط یه متد main داریم. اما کلاسهای متعددی داریم که حتما توی یکیشون متد main هست (و فقط هم توی اون هست).
=====
هرجایی که یه اشتباهی بکنید Eclipse (یا هرIDE دیگه ای) حتما هشدار میده و اگه بتونه راه حلش رو هم میگه. انتظار ندارم خیلی سریع و یهو این موضوع رو یاد بگیرید اما این موضوع رو هم مد نظر داشته باشید.
====
منتظر اسکرین شات کدهاتون هستم که بقیه مطلب رو بریم.
 

danialfx

عضو جدید
کاربر ممتاز
تکلیف جلسه اول




منتظر جلسه دوم هستیم امیرجان - دستت هم درد نکنه که اینقدر زحمت میکشی.

برای تکلیف هم ممنون.

-------
حجم عکسها بالاست. فکر کنم از همون جایی که لازم باشه عکس بگیریم و بگذاریم. حجم خیلی پایینتر بیاد.

اینجا 3.4 تا دیگه عکس بزرگ بخوره. دیگه کلا باز کردنش با اینترنت من کار مشکلی خواهد بود !!
 

پیوست ها

  • 73916183242301671244.jpg
    73916183242301671244.jpg
    16.8 کیلوبایت · بازدیدها: 0

emobin

عضو جدید
تکلیف شماره 2

تکلیف شماره 2

با سلام خدمت دوستان و تشکر فراوان از استاد عزیز

دوستان پیشنهاد می کنم تا قبل اینکه خودتون تمرین رو حل نکردید به کد من نگاه نکنید. خلاقیتتون رو با دستای خودتون خفه نکنید، هیچ وقت:):):)

این نتیجه کارم:


کد برنامه را هم در پیوست گذاشتم. فقط یکسری توضیحات راجع به کد.( اگه حل نکردید هنوز ، از اینجا به بعدش رو نخونید)

1- برای حل این تمرین نیاز به تعریف آرایه بود. که قبلا در تاپیک توضیح داده نشده بود:razz: بنابراین مجبور شدم از دانش قبلی خودم استفاده کنم برای تعریف آرایه در جاوا..راستش رو بخواهید اول رفتم تو قسمت args اعداد رو تعریف کردم اما بعد موقع کامپایل متوجه شدم که نوع داده ها در args رشته (String) هست و امکان عملیات منطقی روی اون ها وجود ندارد. :mad: بعد از پی بردن به این اشتباه خودم رفتم سراغ تعریف آرایه..

2- برای ایجاد خط بعد از پنج عدد هم برای تابع if شرط را به صورت x%5==0 && x!=0 تعریف کردم ، دلیل قسمت دوم عبارت هم این بود که چون مقدار اولیه x=0 بود و باقیمانده آن به 5 صفر می شد ، باعث می شد که یک خط در ابتدا اجرا هم بکشد که با اضافه کردن قسمت دوم شرط x!=0 این مشکل حل شد.

3- بعد از این مسائل وقتی برنامه رو اجرا کردم، دیدم خط جلوی پنج عدد کشیده می شود. همین باعث شد که در اینترنت راجع به دستور رفتن به خط بعدی در جاوا جستجو کنم که این عبارت هم حاصل همون جستجو هست.
HTML:
String newline = System.getProperty("line.separator");
.

البته مثل اینکه امکان ایجاد یک خط فاصله با \n در جاوا هم وجود دارد.
HTML:
System.out.println("\n__________________\n");
.

با آرزوی موفقیت برای همه ......

t2-2.jpg
 
آخرین ویرایش:

Drago

پیشکسوت فعال فناوری اطلاعات
کاربر ممتاز
۱. استاد
۲. برای حل این تمرین نیاز به تعریف آرایه بود. که قبلا در تاپیک توضیح داده نشده بود:razz:
۳. متوجه شدم که نوع داده ها در args رشته (String) هست و امکان عملیات منطقی روی اون ها وجود ندارد.
۴. بعد از این مسائل وقتی برنامه رو اجرا کردم، دیدم خط جلوی پنج عدد کشیده می شود. همین باعث شد که در اینترنت راجع به دستور رفتن به خط بعدی در جاوا جستجو کنم.
۱. تشکر از شما دوست عزیز که وقت میزاری و تمرین رو حل می‌کنی. اما لطفا به من نگو استاد، من استاد نیستم و ادعایی هم در این مورد ندارم، من هم مثل شما یه کاربر این باشگاهم(افرادی که منو می‌شناسن میدونن که به هرکسی نمیگم عزیز...).
۲. دقیقا. اما دوتا قصد وجود داشت : اول اینکه بقیه هم مثل شما برن و ببینن آرایه چطور توی جاوا تعریف میشه. یه برنامه نویس هیچوقت نمی‌تونه تنها کد بزنه، حتما باید بتونه سوال بپرسه، بگرده و پیدا کنه. دوم اینکه ما در مورد args گفتیم که آرایه ای از استرینگ هست... پس انتظار دارم بچه ها یه نگاهی به قیافه اش بندازن. اما کاملا هم منتظر بودم که اینجا بپرسن چطور باید آرایه تعریف کنیم.
۳. متوجه شدید که جاوا روی Type Casting خیلی حساسه. String رو به Integer تبدیل نخواهد کرد.
۴. StackOverFlow دوست هر برنامه نویسه! اگه سوال رو درست بنویسی، سوال تکراری نباشه و نشون بدی که واقعا خودت هم یه کاری کردی حتما کمکت می‌کنن.
البته این مورد شما فکر نمی‌کنم نیازی به Line Seperator داشته باشه، با یه ()System.out.println خالی هم میشد بری خط بعد :). مثلا محتوای If آخرت اینجوری بشه :
کد:
            System.out.println();
             System.out.println("----------");
اما به هر حال Line Seperator رو هم بلد نبودم، یاد گرفتم، دستت درد نکنه!
 
آخرین ویرایش:

danialfx

عضو جدید
کاربر ممتاز
با سلام خدمت دوستان و تشکر فراوان از استاد عزیز

این 2 تا پست اخر رو نخوندم. تشکرشون رو هم میگذارم وقتی که تمرین رو حل کردم و بعدش این 2 تا پست رو خوندم.

تمرین رو حل کردی مبین . روی من رو کم کردی :D

----
امیرجان. مبین یکی از همکارهای بنده در زمینه طراحی سایت

مهندسی مکانیک خونده از دانشگاه صنعتی بابل. انشالله از مهرماه هم دانشجوی ارشد خواهد بود.

من دعوتش کردم برای این تاپیک. البته با اجازه شما و دیگر دوستان.
خلاصه اینکه اگه قرار شد 2.3 نمره تشویقی بهش بدی . به من هم یه نیم نمره بده که دعوتش کردم :D اخر دوره به این نیم نمره نیازمند خواهم بود . :D
 

Drago

پیشکسوت فعال فناوری اطلاعات
کاربر ممتاز
۱.تمرین رو حل کردی مبین . روی من رو کم کردی

----
۲. مبین یکی از همکارهای بنده در زمینه طراحی سایت

مهندسی مکانیک خونده از دانشگاه صنعتی بابل. انشالله از مهرماه هم دانشجوی ارشد خواهد بود.

من دعوتش کردم برای این تاپیک. البته با اجازه شما و دیگر دوستان.
خلاصه اینکه اگه قرار شد 2.3 نمره تشویقی بهش بدی . به من هم یه نیم نمره بده که دعوتش کردم :D اخر دوره به این نیم نمره نیازمند خواهم بود . :D
۱. البته نمی‌دونم بین شما دوتا چی می‌گذره اما اینجا بحث رو کم کنی نیست، دور هم می‌خوایم یه کدی بزنیم حالشو ببریم.

۲.خوشبختم از آشنایی با ایشون.
البته خودم هم یه کم تعجب کردم که یهو یه مهندس مکانیک که ما قبلا توی تالار آی تی زیاد ندیدیمش بلند شده اومده جاوا یاد بگیره... هرچند که برنامه نویسی فقط برای آی تی/کامپیوتری ها نیست.
نمره هم قرار نیست کسی به کسی بده!
کدتون داره کار می‌کنه و از نظر دستوری درسته و کامپایل میشه و نتیجه هم میده.
اما اون آرایه که تعریف کردید کجا استفاده شده؟ آیا اعداد رو از توی آرایه خوندید؟ اگه آرایه رو به صورت پارامتر به این متد می‌دادیم (بعدا در این مورد حرف می‌زنیم) و شما اعداد توش رو نمی‌دونستید چی؟
اون آرایه ای که تعریف کردید هیچوقت مقدار دهی نشده!
یه نکته دیگه : توی جاوا لازم نیست حتما اندازه آرایه رو از قبل بهش بدید. بعدا در این مورد حرف میزنیم.
 

danialfx

عضو جدید
کاربر ممتاز
۱. البته نمی‌دونم بین شما دوتا چی می‌گذره اما اینجا بحث رو کم کنی نیست، دور هم می‌خوایم یه کدی بزنیم حالشو ببریم.

۲.خوشبختم از آشنایی با ایشون.
البته خودم هم یه کم تعجب کردم که یهو یه مهندس مکانیک که ما قبلا توی تالار آی تی زیاد ندیدیمش بلند شده اومده جاوا یاد بگیره... هرچند که برنامه نویسی فقط برای آی تی/کامپیوتری ها نیست.

3- نمره هم قرار نیست کسی به کسی بده!
.

1- حالا اشکال داره بخوام جو رو رقابتی کنم استاد ؟
من میخواستم شاگرد اول باشم. الان روم کم شد. :)

2- از این به بعد روش کار میکنم که بیشتر تو تالار ایتی بیاد .

3- استاد به شاگرد نمره میده دیگه !! ;)
 

Drago

پیشکسوت فعال فناوری اطلاعات
کاربر ممتاز
خب با توجه به اینکه هیچکس حتی تلاش نکرد که جواب بده و حتی یه کد نصفه و نیمه هم اینجا ندیدیم، خودم جواب تمرین ها رو میذارم در یکی دو روز آینده.
 

sanamsayna

کاربر فعال مهندسی IT ,
کاربر ممتاز
خب با توجه به اینکه هیچکس حتی تلاش نکرد که جواب بده و حتی یه کد نصفه و نیمه هم اینجا ندیدیم، خودم جواب تمرین ها رو میذارم در یکی دو روز آینده.
راستش من همين اول گير كردم ، چون پيشنهادم داده بودي يك كتاب مرجع هم كنارش بخونيم رفتم كتاب جاوا ديتل رو خريدم از نقدمه شروع كردم دارم با سرعت لاكپشتي جلو ميرم ان شالله دو سال ديگه به تمرينا مي رسم
 

danialfx

عضو جدید
کاربر ممتاز
خب با توجه به اینکه هیچکس حتی تلاش نکرد که جواب بده و حتی یه کد نصفه و نیمه هم اینجا ندیدیم، خودم جواب تمرین ها رو میذارم در یکی دو روز آینده.

من یک هفته دیگه وقت میخوام. دارم به نتایجی میرسم.

اگه میشه گذاشتن جواب رو یک هفته به تعویق بنداز.
 

danialfx

عضو جدید
کاربر ممتاز
امیرجان. همونطور که تو خصوصی و با اس ام اس عرض کردم. به جوابی نرسیدم که قابلیت پست شدن رو داشته باشه .

حالا فکر کنم نزدیک امتحاناتته . شایدم درگیر پایان نامه ای. انشالله بعد امتحاناتت منتظریم / لطفا جواب تمرینها رو بگذاری .

ممنون.
 

sanamsayna

کاربر فعال مهندسی IT ,
کاربر ممتاز
سلام چون سوالم مرتبط با جاواس واسه همين اينجا نوشتم باز اگه نظم رو به هم مي زنه بگين پاك كنم ،من پروژه ازمايشگاه سيستم عامل رو الكوريتم فيدبك با زبان جاوا برداشتم ، حالا هم مفاهيم اينا رو تا جايي رسوندم ولي تو يك سايتي نوشته بود كه الگوريتم فيدبك رو نمي تونيم با جاوا پيدا كنيم اين جمله درسته؟ يك سوال ديگه اينكه ما مي تونيم فرمي كه مثلا با سي سارپ در ويژوال ايجاد مي كنيم رو در esclipe هم پياده كرد يا نه واسه اين جور كارها نمي تونيم از زبان جاوا استفاده كنيم ؟
 
بالا