簡體   English   中英

JAVA - 不會編譯

[英]JAVA - won't compile

我的驅動程序類無法編譯。 它一直說我給出了錯誤的類型。 我已經在 Phone 類中聲明了變量,然后在驅動程序中創建了有關電話的信息,並希望將其存儲在數組中。

電話課

public class Phone extends Technology {
    private String name;
    private String type;
    private String colour;
    private int inStock=10;
    private int sold;

    //Constructor
    public Phone (String itemsId,  String brand, double price, String name, String type, String colour ) {

        super(itemsId, brand, price );
        this.name = name;
        this.type = type;
        this.colour = colour;
    }   
}

這是無法編譯的驅動程序類的一部分,我無法弄清楚我做錯了什么。 我已經按照電話類中的相同順序創建了有關電話的信息。

// Creating 10 phones and storing in arrayList
public void pickPhone(){

    Phone phone = new Phone("A223","Apple", "€679.00 ", "iPhone 5s", "Smartphone ", " Black");
    phoneList.add(phone);

    phone = new Phone("A252","Apple", " €649.00 ", " iPhone 5s", "Smartphone ", " White");
    phoneList.add(phone);

    phone = new Phone("A264","Apple", " €329.00 ", " iPhone 4s", "Smartphone ", " Black");
    phoneList.add(phone);

    phone = new Phone("S586","Sony", " €570.00 ", " Xperia Z1", "Smartphone ", " Black");
    phoneList.add(phone);

    phone = new Phone("S549","Sony", " €260.00 ", " Xperia SP", "Smartphone ", " Black");
    phoneList.add(phone);

    phone = new Phone("G359","Samsung", " €530.00 ", "Galaxy S4", "Smartphone ", " Black");
    phoneList.add(phone);

    phone = new Phone("G375","Samsung", " €530.00 ", "Galaxy S4", "Smartphone ", "White");
    phoneList.add(phone);

    phone = new Phone("G352","Samsung", "  €350.00 ", "Galaxy S4 Mini", "Smartphone ", "White");
    phoneList.add(phone);

    phone = new Phone("H488"," HTC ", " €529.00 ", "One", "Smartphone ", "Black");
    phoneList.add(phone);

    phone = new Phone("H463"," HTC ", " €419.00 ", "One Mini ", "Smartphone ", "Silver");
    phoneList.add(phone);

}

在你的構造函數中

public Phone (String itemsId,  String brand, double price, String name, String type, String colour ) 

price是雙倍,但您傳遞了一個字符串,例如" €419.00 "

您必須將價格傳遞為例如419.0 (沒有歐元符號,沒有空格,周圍沒有雙引號)。

Phone phone = new Phone("A223","Apple", 679.0, "iPhone 5s", "Smartphone ", " Black");
phoneList.add(phone);

您的錯誤在於您在電話構造函數中要求雙倍而不是字符串的價格

例如“€679.00”是一個字符串。 如果你想要雙倍,你必須通過 679.00

你必須修改你的構造函數或修改你的參數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM