PDA

View Full Version : شروع یک تازه کار جاوا(راهنمایی ها مشکلات و...)



rh_b_h
یک شنبه 12 شهریور 1391, 19:32 عصر
سلام دوستان
در این تاپیک قصد دارم سوالات و مشکلاتی که در شروع کار با جاوا با اون ها برخورد می کنم رو اینجا بیان کنم تا با راهنمایی دوستان بر طرف شه.باشد که دیگران نیز استفاده کنند:لبخندساده:
----------
من یه کد نوشتم که دو عدد صحیح رو از کاربر بگیره و اون ها رو با هم جمع کنه و در نهایت در خروجی نشون بده که به مشکل برخوردم.لطفا بگین مشکل کار کجاست


import java.util.Scanner;
public class Addition {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

int number1;
int number2;
int sum;

System.out.print("Enter first integer");
number1 = input.nextInt();

System.out.print("Enter Second integer");
number2 = input.nextInt();

sum = number1 + number2;

System.out.print("Sum is %d\n", sum);


// TODO code application logic here
}
}


زمانی که با NetBeans ران می کنم این ارور رو می ده:


run:
Error: Could not find or load main class addition.Addition
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)

hadi0x7c7
یک شنبه 12 شهریور 1391, 20:00 عصر
اسم فایلت باید با نام کلاس public یکی باشه. چیزی بنام print نداریم printf بزار.

maktoom
یک شنبه 12 شهریور 1391, 21:32 عصر
سلام
ارور داره می گه متد Main رو پیدا نکرده. این برای حالتیه که یا کلاس دیگه ای بعنوان کلاس اصلی به نت بینز شناسوندین یا موقع اجرا یه کلاس دیگه اجرا میشه و یا این کلاس رو به جای دیگه کپی کردید بدون Refactor. توی خود کلاس کلیک راست کنید و روی Run کلیک کنید.
برنامه خودش یه مشکل هم داره. اشکال در چاپ هستش:
System.out.print("Sum is "+ sum);

در جاوا برای الحاق بین دو رشته از + استفاده میشه. در حالتی که شما تصمیم به چاپ گرفتید با مقادیرتون مثل دوتا رشته دارید رفتار می کنید. پس برای الحاق به رشته قبلی(جمله) باید از + استفاده کنید. در حالت استفاده از printf مثل C بای بنویسید. println مثل print معمولی هستش. می دونید که اگر در محیط نت بینز تایپ کنید sout بعد tab رو بزنید عبارت چاپ رو میاره و اگر psvm و بعد tab رو بزنید عبارت متد main میزنه.
این برنامه رو می تونید اینطور هم بنویسید:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("please enter 2 num");
System.out.println("sum is: "+(input.nextInt()+input.nextInt()));
}
}

rh_b_h
یک شنبه 12 شهریور 1391, 21:42 عصر
اسم فایلت باید با نام کلاس public یکی باشه. چیزی بنام print نداریم printf بزار.

مرسی از جوابتون
ولی من عین مثال کتاب جاوا دیتل رو کپی کردم.اسم فایلم هم با اسم کلاس یکی هست.
print دستور چاپ معمولی هست و printf چاپ فرمت بندی شده هست.
مرسی بابت جوابتون

rh_b_h
یک شنبه 12 شهریور 1391, 22:15 عصر
ممنونم مشکلم حل شد
می خواستم ببینم چجوری میشه مثلا همین فایل رو با نت بینز به exe تبدیل کرد که تو ویندوز بشه ازش استفاده کرد

hadi0x7c7
یک شنبه 12 شهریور 1391, 22:25 عصر
ممنونم مشکلم حل شد
می خواستم ببینم چجوری میشه مثلا همین فایل رو با نت بینز به exe تبدیل کرد که تو ویندوز بشه ازش استفاده کرد

جاوا برنامه هاش روی jvm اجرا میشه. حالا از ویندوز بگیر تا موبایل و . .. . .

maktoom
دوشنبه 13 شهریور 1391, 09:15 صبح
همین فایل رو با نت بینز به exe تبدیل کرد که تو ویندوز بشه ازش استفاده کرد
بطور کلی تبدیل به exe کار درستی نیست. شما باید روی پروژتون توی نت بینز کلیک راست کنید و Build یا clean and build کنید. با انجام اینکار داخل پوشه پروژتون در محل ذهیره پروژه ها یک فایل jar ایجاد میشه که در صورت داشتن jvm با کلیک بر روی اون برنامتون اجرا میشه. اما قبلش باید مشخص کنید در این پروژه کدوم کلاس بعنوان کلاس Main قراره شناسایی بشه که فایل jar شما از اونجا شروع کنه.
تبدیل به exe شدنی هست اما درست نیست. برای کار شما نیست. یه کاربردای خاصی داره که اصلا با قصد شما از نوشتن برنامه با زبان جاوا مطابق نیست.
بعد ها برای ساختن فایل install از برنامتون کافیه داخل فایل نصبتون jvm رو هم قرار بدید که موقع نصب اون رو هم نصب کنه. با اینکار یه آیکن بوجود میاد که shortcut به یه فایل exe هست و اون فایل exe تنها کاری که می کنه همون فایل .jar شما رو اجرا می کنه.
موفق باشید.

maktoom
دوشنبه 13 شهریور 1391, 11:14 صبح
ولی من عین مثال کتاب جاوا دیتل رو کپی کردم.
اگر کتاب هربرت شیلد گیرتون اومد اون کتاب به مراتب از کتای دیتل بیشتر بدردتون می خوره.کتاب دیتل بیشتر برای مباحث تکمیلی هستش.