انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: اررور در اجرای کد جاوا  (دفعات بازدید: 1638 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین AmirZare

  • Full Member
  • *
  • ارسال: 147
  • جنسیت : پسر
اررور در اجرای کد جاوا
« : 15 مهر 1397، 11:07 ب‌ظ »
سلام من کد پایین رو اجرا میکنم ولی ارور میگیرم. توی کامپایل هم اروری نیست فقظ موقع اجرا این ارور میاد.
// Library
import java.util.Scanner;

// Main code
public class amir {
    public static void main(String[] args) {
        System.out.println("Type Something: ");
        Scanner inp = new Scanner(System.in);
        for (int i = 0; i < 10; i++) {
            System.out.println(inp.nextLine());
        }
    }
}
Error: Could not find or load main class amir.java

آفلاین Silvio Dante

  • High Hero Member
  • *
  • ارسال: 1221
  • جنسیت : پسر
  • Arch Linux
    • وبلاگ شخصی
پاسخ : اررور در اجرای کد جاوا
« پاسخ #1 : 15 مهر 1397، 11:59 ب‌ظ »
در جاوا بعد از اینکه برنامه رو کامپایل می‌کنین، برای اجرا نباید فرمت فایل رو به دستور اضافه کنین و فقط کافیه اسم فایل رو بدون هیچ چیز اضافی‌ای به لانچر جاوا بدین:
javac amir.java
java amir
به ما نگفته بودند ایران در زمان احمدشاه قاجار چگونه بوده است. همیشه به ما دادند، ما هم فکر کردیم باید می‌داده‌اند و تازه خیال می‌کردیم کم‌مان است باز هم می‌خواستیم!!
فریدون فرخزاد

آفلاین AmirZare

  • Full Member
  • *
  • ارسال: 147
  • جنسیت : پسر
پاسخ : اررور در اجرای کد جاوا
« پاسخ #2 : 16 مهر 1397، 02:55 ب‌ظ »
در جاوا بعد از اینکه برنامه رو کامپایل می‌کنین، برای اجرا نباید فرمت فایل رو به دستور اضافه کنین و فقط کافیه اسم فایل رو بدون هیچ چیز اضافی‌ای به لانچر جاوا بدین:
javac amir.java
java amir
آهان خیلی ممنون؛ راستی جاوا رو دارم به پیشنهاد شما یاد میگیرم.(جاوا رو به جای kivy پیشنهاد دادین.)

آفلاین Silvio Dante

  • High Hero Member
  • *
  • ارسال: 1221
  • جنسیت : پسر
  • Arch Linux
    • وبلاگ شخصی
پاسخ : اررور در اجرای کد جاوا
« پاسخ #3 : 16 مهر 1397، 04:31 ب‌ظ »
آهان خیلی ممنون؛ راستی جاوا رو دارم به پیشنهاد شما یاد میگیرم.(جاوا رو به جای kivy پیشنهاد دادین.)
خواهش می‌کنم.
بله اگه می‌خواین اندروید کار کنین در این لحظه فکر نکنم راهی بهتر از جاوا برای توسعه‌ی اپلیکیشن‌های اندرویدی وجود داشته باشه. (حالا kivy که از بدترین گزینه‌هاست.)
اما علاوه بر اون، جاوا جاهای دیگه هم بسیار کاربرد داره و احتمالا از یاد گرفتنش پشیمون نخواهید شد. (مخصوصا اگه طرفدار شی گرایی باشین ;) )
موفق باشین.
« آخرین ویرایش: 16 مهر 1397، 04:33 ب‌ظ توسط Silvio Dante »
به ما نگفته بودند ایران در زمان احمدشاه قاجار چگونه بوده است. همیشه به ما دادند، ما هم فکر کردیم باید می‌داده‌اند و تازه خیال می‌کردیم کم‌مان است باز هم می‌خواستیم!!
فریدون فرخزاد

آفلاین ALi.pAkrohk

  • High Hero Member
  • *
  • ارسال: 1109
  • جنسیت : پسر
  • KDE Plasma 5 + Gnu OS
پاسخ : اررور در اجرای کد جاوا
« پاسخ #4 : 18 مهر 1397، 09:07 ب‌ظ »
آهان خیلی ممنون؛ راستی جاوا رو دارم به پیشنهاد شما یاد میگیرم.(جاوا رو به جای kivy پیشنهاد دادین.)
خواهش می‌کنم.
بله اگه می‌خواین اندروید کار کنین در این لحظه فکر نکنم راهی بهتر از جاوا برای توسعه‌ی اپلیکیشن‌های اندرویدی وجود داشته باشه. (حالا kivy که از بدترین گزینه‌هاست.)
اما علاوه بر اون، جاوا جاهای دیگه هم بسیار کاربرد داره و احتمالا از یاد گرفتنش پشیمون نخواهید شد. (مخصوصا اگه طرفدار شی گرایی باشین ;) )
موفق باشین.
البته qt هم جدیدا خیلی برای اندروید بسیار بدرد بخور شده.
20 =! 20
با هم بیاموزیم به هم نیاموزیم.
پاک روح.(آپاراک).

آفلاین msajadi832

  • Sr. Member
  • *
  • ارسال: 331
  • جنسیت : پسر
  • http://appza.ir
    • اپزا: ابزار هوشمند کسب و کار شما
پاسخ : اررور در اجرای کد جاوا
« پاسخ #5 : 19 مهر 1397، 09:50 ق‌ظ »
اگر دوست داری هم برای اندروید و هم IOS برنامه بسازی، می تونی React Native یاد بگیری. خروجی اش هم به نسبت سبک هست

آفلاین Silvio Dante

  • High Hero Member
  • *
  • ارسال: 1221
  • جنسیت : پسر
  • Arch Linux
    • وبلاگ شخصی
پاسخ : اررور در اجرای کد جاوا
« پاسخ #6 : 19 مهر 1397، 12:10 ب‌ظ »
اگر دوست داری هم برای اندروید و هم IOS برنامه بسازی، می تونی React Native یاد بگیری. خروجی اش هم به نسبت سبک هست
تنها چیزی که بعد از جاوا و کاتلین من هم توصیه‌ش می‌کنم.
به ما نگفته بودند ایران در زمان احمدشاه قاجار چگونه بوده است. همیشه به ما دادند، ما هم فکر کردیم باید می‌داده‌اند و تازه خیال می‌کردیم کم‌مان است باز هم می‌خواستیم!!
فریدون فرخزاد

آفلاین ALi.pAkrohk

  • High Hero Member
  • *
  • ارسال: 1109
  • جنسیت : پسر
  • KDE Plasma 5 + Gnu OS
پاسخ : اررور در اجرای کد جاوا
« پاسخ #7 : 19 مهر 1397، 02:49 ب‌ظ »
اگر دوست داری هم برای اندروید و هم IOS برنامه بسازی، می تونی React Native یاد بگیری. خروجی اش هم به نسبت سبک هست
تکنولوژی هر روز در حال پیشرفته.
فریمورکی که گوگل جدیدا معرفی کرده و به جرعت میگم برای توسعه خیلی سریع تر از React Native هست فریم ورک Flutter هستش حتما یک بار امتحانش کنید پشیمون نمیشید.
20 =! 20
با هم بیاموزیم به هم نیاموزیم.
پاک روح.(آپاراک).

آفلاین AmirZare

  • Full Member
  • *
  • ارسال: 147
  • جنسیت : پسر
پاسخ : اررور در اجرای کد جاوا
« پاسخ #8 : 21 مهر 1397، 10:11 ب‌ظ »
خیلی ممنون از دوستان بابت راهنمایی هاشون.
به یک سوال دیگه بر خوردم!
این کد زیر چرا کامپایل نمیشه و ارور میده؟
ارور های جاوا رو نمیدونم چرا نمیتونم بخونم. :( :(
// main class.
public class amir {
    // main Func.
    public static void main(String[] args) {
        // two variables that uses in AmirFunc Function.
        String separator = "_";
        int counter = 0;
        // run AmirFunc Function.
        AmirFunc();
    }
    public static void AmirFunc() {
        // while loop for print numbers from 1 to 100000.
        while ( counter < 100000 ) {
            System.out.println(counter);
        }
        // if statement for break code if all the things run well.
        if ( counter == 100000 ) {
            System.out.println(separator * 20);
            System.out.println("The End...");
        }
        else {
            System.out.println("Error :)");
        }
    }
}
amir.java:13: error: cannot find symbol
        while(counter < 100000) {
              ^
  symbol:   variable counter
  location: class amir
amir.java:14: error: cannot find symbol
            System.out.println(counter);
                               ^
  symbol:   variable counter
  location: class amir
amir.java:17: error: cannot find symbol
        if ( counter == 100000 ) {
             ^
  symbol:   variable counter
  location: class amir
amir.java:18: error: cannot find symbol
            System.out.println(separator * 20);
                               ^
  symbol:   variable separator
  location: class amir
4 errors
فکر کنم میگه متغیرها رو نمیتونه پیدا کنه!
ولی مگه متغیر های من public نیستن که بقیه جا ها بشه ازشون استفاده کرد؟

آفلاین Silvio Dante

  • High Hero Member
  • *
  • ارسال: 1221
  • جنسیت : پسر
  • Arch Linux
    • وبلاگ شخصی
پاسخ : اررور در اجرای کد جاوا
« پاسخ #9 : 22 مهر 1397، 01:30 ق‌ظ »
...
ولی مگه متغیر های من public نیستن که بقیه جا ها بشه ازشون استفاده کرد؟
دو متغیر separator و counter متغیرهای متد main هستن و متغیرهای یک متد خاص رو فقط می‌تونین داخل اون متد خاص استفاده کنین. برای رفع مشکل دوتا راه دارین. اولیش اینه که این دو متغیر رو داخل متد AmirFunc تعریف کنین یا اینکه اون‌ها رو داخل کلاس اصلی و خارج از هرگونه متد دیگه تعریف کنین. روش اول برای مواقعی هست که اون متغیر رو فقط داخل اون متد خاص نیاز دارین و روش دوم مناسب زمانی هست که اون متغیر خاص رو ممکنه داخل چندین متد مختلف یا جاهای دیگه (بیشتر از یک جا) استفاده کنین.
نکته‌ی دیگه‌ای هم که توی برنامه‌تون هست و باعث بروز مشکل میشه اون خطی هست که سعی کردین متغیر separator رو در عدد 20 ضرب کنین. این کار توی جاوا ممکن نیست و جاوا هیچوقت یک رشته رو در یک عدد ضرب نمی‌کنه. (احتمالا پایتون کار کردین :) ) ساده‌ترین راه برای انجام این کار استفاده از سازنده‌ی کلاس String هست، به این صورت:
new String(new char[number]).replace("\0", "-")
با رعایت این موارد خطاها از بین میره اما در نهایت من منطق برنامه‌تون رو درک نکردم و دقیقا نمی‌دونم می‌خواین چیکار کنین، برداشت من اینه که قصد دارین اعداد بین 0 تا 10000 رو چاپ کنین. صرف نظر از این که برای این کار روش بهتری هم هست اما شما یه حلقه‌ی بی نهایت نوشتین، چون در این حالت counter برابر با 0 هست پس شرط حلقه‌تون صحیحه و با توجه به اینکه مقدار counter در طول حلقه تغییری نمی‌کنه، برنامه تا ابد براتون 0 چاپ می‌کنه و هیچوقتم تموم نمیشه  :D  برای رفع این موضوع با توجه به برداشتی که من از هدف این برنامه دارم، باید داخل حلقه‌تون هر بار به مقدار counter یکی اضافه کنین.

و در نهایت:
// main class.
public class amir {
    // main Func.
    public static void main(String[] args) {

        // run AmirFunc Function.
        AmirFunc();
    }
    public static void AmirFunc() {

        // two variables that uses in AmirFunc Function.
        final String SEPARATOR = new String(new char[20]).replace("\0", "-");
        int counter = 0;

        // while loop for print numbers from 1 to 100000.
        while ( counter < 100000 ) {
            System.out.println(counter);
            counter++;
        }

        // if statement for break code if all the things run well.
        if ( counter == 100000 ) {
            System.out.println(SEPARATOR);
            System.out.println("The End...");
        }
        else {
            System.out.println("Error :)");
        }
    }
}

نکته‌ی اضافی هم اینکه موقع ساخت متدهاتون با return هم دوست باشین.  ;D

موفق باشین.
« آخرین ویرایش: 22 مهر 1397، 01:32 ق‌ظ توسط Silvio Dante »
به ما نگفته بودند ایران در زمان احمدشاه قاجار چگونه بوده است. همیشه به ما دادند، ما هم فکر کردیم باید می‌داده‌اند و تازه خیال می‌کردیم کم‌مان است باز هم می‌خواستیم!!
فریدون فرخزاد

آفلاین AmirZare

  • Full Member
  • *
  • ارسال: 147
  • جنسیت : پسر
پاسخ : اررور در اجرای کد جاوا
« پاسخ #10 : 22 مهر 1397، 01:23 ب‌ظ »
خیلی ممنون Silvio Dante.
از توی یک videolist یوتیوب میرم جلو؛ آخرین ویدئویی که تا الان ازش دیدم همین حلقه while بود برای همین برنامه های الکی مینویسم برا تمرین.
راستی این قسمت که نوشته بودین final String SEPARATOR کار final چیه؟

آفلاین Silvio Dante

  • High Hero Member
  • *
  • ارسال: 1221
  • جنسیت : پسر
  • Arch Linux
    • وبلاگ شخصی
پاسخ : اررور در اجرای کد جاوا
« پاسخ #11 : 22 مهر 1397، 03:17 ب‌ظ »
خیلی ممنون Silvio Dante.
از توی یک videolist یوتیوب میرم جلو؛ آخرین ویدئویی که تا الان ازش دیدم همین حلقه while بود برای همین برنامه های الکی مینویسم برا تمرین.
راستی این قسمت که نوشته بودین final String SEPARATOR کار final چیه؟
خواهش می‌کنم.
فاینال باعث میشه مقدار متغیر بعد از اولین مقدار دهی دیگه قابل تغییر نباشه (اصطلاحا به این نوع متغیرها میگن consonant) و مواقعی که می‌خواین متغیر صرفا یه مقدار ثابت داشته باشه بهتره از final استفاده کنین.
به ما نگفته بودند ایران در زمان احمدشاه قاجار چگونه بوده است. همیشه به ما دادند، ما هم فکر کردیم باید می‌داده‌اند و تازه خیال می‌کردیم کم‌مان است باز هم می‌خواستیم!!
فریدون فرخزاد