Tidak Dapat Menemukan Simbol [duplikat]

Kelas KalkulatorDemo1

package calc;
public class CalculatorDemo1{
  public static void main(String args){
    int integer1 = 1;
    int integer2 = 2;
    Calculator a = new Calculator(integer1, integer2);
    a.sum();

  }
}

Kelas Kalkulator

package calc;

public class Calculator{
  int left, right;

  public Calculator(int left, int right){
    this.left = left;
    this.right = right;

  }
  public void sum(){
    System.out.println(this.left + this.right);
  }
}

Jadi kode-kode ini ada di file yang berbeda. Saya mencoba mengkompilasi kedua file ini. Satu dengan konstruktor dikompilasi, tetapi yang lain tidak. Dan, itu memunculkan kesalahan-kesalahan ini.

CalculatorDemo1.java:6: error: cannot find symbol
    Calculator a = new Calculator(integer1, integer2);
    ^
  symbol:   class Calculator
  location: class CalculatorDemo1
CalculatorDemo1.java:6: error: cannot find symbol
    Calculator a = new Calculator(integer1, integer2);
                       ^
  symbol:   class Calculator
  location: class CalculatorDemo1
2 errors

Saya rasa ini bukan masalah tipe pengembalian. Hal ini tidak menyelesaikan masalah. Juga, aku memeriksa pengenalku apakah ejaanku salah atau tidak, tapi tidak ada satupun. Saya juga tidak menemukan jawaban apa pun dari pertanyaan umum. Bagaimana cara memperbaiki masalah ini?


person Chan    schedule 26.05.2020    source sumber
comment
Anda mungkin belum menambahkan kelas Kalkulator ke jalur kelas. Coba tambahkan dengan opsi cp   -  person user    schedule 26.05.2020
comment
Saya tidak yakin masalah terkait dengan @us, masalahnya juga terkait dengan deklarasi konstruktor Anda   -  person User8500049    schedule 26.05.2020
comment
Perintah apa yang Anda gunakan untuk mengkompilasi kode Anda? Dari lokasi mana?   -  person Pshemo    schedule 26.05.2020
comment
javac Kalkulator.java dan javac KalkulatorDemo1.java dan Kalkulator.java dikompilasi, tetapi javac KalkulatorDemo1.java menyebabkan kesalahan di atas. Saya memperbaiki masalah konstruktor beberapa waktu lalu, dan masih tidak berfungsi.   -  person Chan    schedule 27.05.2020
comment
Apakah direktori konsol saat ini disetel ke folder calc? Kompiler (javac) perlu mengetahui lokasi paket yang menampung kelas yang Anda gunakan. Anda mengaturnya berdasarkan parameter -classpath atau -cp. Jadi jika Anda berada di dalam calc Anda dapat mencoba dengan javac -cp .. CalculatorDemo1.java, atau pindahkan satu direktori ke atas dan panggil javac -cp . calc/CalculatorDemo1.java.   -  person Pshemo    schedule 27.05.2020
comment
Anda mungkin salah melakukan build. Ketika saya melakukan build dengan benar, kode akan dikompilasi. (Ini tidak berjalan karena Anda masih memiliki kesalahan dalam kode. Namun Anda dapat menyelesaikannya sendiri ketika Anda sudah melakukannya!)   -  person Stephen C    schedule 27.05.2020
comment
Bagaimana jika saya menghapus paket calc, dan hanya meletakkan kedua file ini secara bersamaan dengan folder bernama Java? Apakah saya perlu menyebutkan paket hanya untuk memastikan keduanya berkorelasi?   -  person Chan    schedule 27.05.2020
comment
JANGAN PERNAH membuat kelas tanpa paket. Jika Anda ingin mendistribusikan kelas-kelas seperti file Jar dan Anda ingin menggunakan Jar itu di proyek Anda yang lain, Anda tidak akan dapat import kelas-kelas tersebut di sana.   -  person Pshemo    schedule 27.05.2020


Jawaban (1)


Masalah terkait dengan deklarasi konstruktor Anda. Konstruktor tidak memiliki tipe pengembalian apa pun. Jadi, metode Kalkulator Anda bukanlah konstruktor. ketika Anda mencoba instantiate,

Calculator c = new Calculator(5,7);//can't find true ctor.
Calculator c1 = new Calculator();//it is ok
public  void Calculator(int left, int right){ //delete void
    this.left = left;
    this.right = right;
}
person User8500049    schedule 26.05.2020
comment
Saya sudah menghapusnya, tapi masih menimbulkan masalah. - person Chan; 26.05.2020
comment
KalkulatorDemo1.java:6: error: tidak dapat menemukan simbol Kalkulator a = Kalkulator baru(integer1, integer2); ^ simbol: kelas Lokasi kalkulator: kelas KalkulatorDemo1 KalkulatorDemo1.java:6: error: tidak dapat menemukan simbol Kalkulator a = Kalkulator baru(integer1, integer2); ^ simbol: kelas Lokasi kalkulator: kelas KalkulatorDemo1 2 kesalahan Chanwooui-MBP:java chanwookim$ - person Chan; 26.05.2020