خطای cannot find symbol در برنامه جاوا

+1 رأی
میانگین بازدید روزانه 0.16358 بازدید

کلاس Main در زمان کامپایل خطای cannot find symbol برای متغییر bottom می دهد:

package javatest01;

import javax.swing.JOptionPane;

public class Main {

    public static void main(String[] args) {

        Kasr k = new Kasr(3, 7);
        k.add(2, 3);
        JOptionPane.showMessageDialog(null, "top is = " + k.top);
        JOptionPane.showMessageDialog(null, "bottom is = " + bottom);
    }
}
package javatest01;

public class Kasr {

    int top;
    int bottom;

    public Kasr(int t, int b) {
        top = t;
        bottom = b;
    }

    void add(int a, int b) {
        top = top * b + a * bottom;
        bottom = b * bottom;
    }
}
سوال 6 سال قبل در تالار برنامه نویسی توسط مصطفی (102 امتیاز)
ویرایش 6 سال قبل توسط Saeed Zarinfam
لطفا مشخص کنید چه خطایی و در چه خطی دارید.
اگر منظورتون قرار دادن کد ها بصورت syntax highlight در سایت هست، می تونید از لینک زیر کمک بگیرید: https://javabyab.com/183

1 جواب

0 رأی

نه در کلاس Main و  نه در متد متغییری با نام bottom وجود ندارد و این خطا به این دلیل است.

متغییر k به شیئی از کلاس Kasr اشاره می کند که آن شئ فیلدی به نام bottom دارد:

public class Main {

    public static void main(String[] args) {

        Kasr k = new Kasr(3, 7);
        k.add(2, 3);
        JOptionPane.showMessageDialog(null, "top is = " + k.top);
        JOptionPane.showMessageDialog(null, "bottom is = " + k.bottom);
    }
}
جواب 6 سال قبل توسط Saeed Zarinfam (423 امتیاز)

سوال های مشابه

0 رأی
0 جواب میانگین بازدید روزانه 0.33357 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.19115 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.17144 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.15137 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.1101 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.13243 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0486 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.09204 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.7136 بازدید
–1 رأی
0 جواب میانگین بازدید روزانه 0.05106 بازدید
کانال تلگرام جواب یاب
...