-1
我打算製作一個程序,詢問用戶他們要在車庫中存儲多少車輛,並讓用戶放置車輛的信息並將其存儲在數組中,這裏是代碼:java方法和構造函數不能應用
public class Main {
static class veh {
int roda;
String warna;
String merk;
public veh(int roda, String warna, String merk){
this.roda = roda;
this.warna = warna;
this.merk = merk;
}
private void setRoda(){
}
private void setWarna(){
}
private void setMerk(){
}
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Pemilik Garasi\t: ");
String nama = in.nextLine();
System.out.print("NIM\t\t\t\t: ");
String nim = in.next();
System.out.print("Kelas\t\t\t: ");
String kls = in.next();
System.out.print("Masukkan Luas Garasi\t:");
int luas = in.nextInt();
veh[] data = new veh[luas];
System.out.println("============================");
for (int i = 0; i < luas; i++) {
veh vehicle = new veh();
System.out.println("Masukkan Data Kendaraan Ke " + (i + 1));
System.out.print("Jumlah Roda\t: ");
vehicle.setRoda(in.nextInt());
System.out.print("Warna\t\t: ");
vehicle.setWarna(in.next());
System.out.print("Merk\t\t: ");
vehicle.setMerk(in.next());
data[i] = vehicle;
}
System.out.println("====== GARASI PRIBADI ======");
System.out.println("Milik \t: " + nama);
System.out.println("NIM \t: " + nim);
System.out.println("Kelas \t: " + kls);
System.out.println("============================");
for (int i = 0; i < luas; i++) {
System.out.println("Kendaraan Ke " + (i + 1));
System.out.println("Jumlah Roda\t : " + data[i].roda);
System.out.println("Warna\t\t : " + data[i].warna);
System.out.println("Merk\t\t : " + data[i].merk);
System.out.println("--------------------------");
}
}
}
當我編譯它,我在此行得到了一個錯誤:
veh vehicle = new veh();
vehicle.setRoda(in.nextInt());
vehicle.setWarna(in.next());
vehicle.setMerk(in.next());
我真的不知道getter/setter方法是如何工作的,我是用Java編程語言新,做我寫錯了什麼?
謝謝,我需要的,但確實真的有必要的干將?我試圖將void setter改爲private,並且根本沒有放置getter,並且它也可以工作。 –
這個想法是爲了讓外界和會員本身都可以訪問setter和getters。現在在你的情況下,veh類的成員可以從main訪問,因爲main也是這個類的成員,因此可以訪問它的所有成員和方法。 –
因此,如果我只有一個java文件,並且這兩個類都在主類中,那麼僅使用私有類的setter將會起作用? –