繁体   English   中英

不兼容的类型可能从双精度整数转换为整数

[英]incompatible types possible lossy conversion from double to int

即时通讯试图添加总计到我的对话框,但我收到一条错误消息,我似乎无法修复它。 如果我尝试将总计总计放入我的for循环中,它只会在对话框中打印出5次。 我确实需要在对话框中最后打印总计总数

import javax.swing. JOptionPane;

public class BookTest
{
    public static void main(String args[])
    {
        double charge;
        double grandTotal= 0;


        String dataArray[][] = {{"Abraham Lincoln Vampire Hunter","Grahame-Smith","978-0446563079","13.99", "Haper", "NY"},
                    {"Frankenstein","Shelley","978-0486282114","7.99","Pearson", "TX"},
                    {"Dracula","Stoker","978-0486411095","5.99","Double Day", "CA"},
                    {"Curse of the Wolfman"," Hageman","B00381AKHG","10.59","Harper", "NY"},
                    {"The Mummy","Rice","978-0345369949","7.99","Nelson", "GA"}};




        Book bookArray[] = new Book[dataArray.length];

        int quantityArray[] = {12, 3, 7, 23, 5};

        for (int i = 0; i < dataArray.length; i++)
        {
            bookArray[i] = new Book(dataArray[i][0], dataArray[i][1], dataArray[i][2], 
                Double.parseDouble(dataArray[i][3]), new Publisher(dataArray[i][4], dataArray[i][5]));
        }

        String msg = " ";



        for (int i = 0; i < bookArray.length; i++)
        {

            charge = bookArray[i].calculateTotal(quantityArray[i]);

            grandTotal = charge + grandTotal;

            msg += String.format(" %s, %s, $%.2f\n", bookArray[i].getTitle(), bookArray[i].getIsbn(), charge); 


        }


        JOptionPane.showMessageDialog(null, msg, "Grand Total $%.2f ", grandTotal); //

    }

}

您正在尝试将grandTotal作为grandTotal的消息类型showMessageDialog

我怀疑您的意思是这样的:

JOptionPane.showMessageDialog(
    null, msg,
    String.format("Grand Total $%.2f", grandTotal),
    JOptionPane.INFORMATION_MESSAGE
);

另请参阅“如何制作对话框”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM