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

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

کلاس 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 (695 امتیاز)

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

0 رأی
0 جواب میانگین بازدید روزانه 0.38495 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.17141 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.18184 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.14157 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.09113 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.13258 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0493 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1240 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.2566 بازدید
–1 رأی
0 جواب میانگین بازدید روزانه 0.05112 بازدید
کانال تلگرام جواب یاب
...