【问题标题】:Issues with adding doubles in an ArrayList在 ArrayList 中添加双精度的问题
【发布时间】:2013-07-26 14:14:44
【问题描述】:

我正在完成一个 GUI 程序,它将充当餐厅的在线订购菜单,但是我似乎遇到了两个问题.. 我的计算处理程序方法似乎只是冻结了整个 Java 小程序。它没有显示任何错误或任何东西,它只是冻结。这是事件处理程序:

ArrayList<Double> yourOrderPrices = new ArrayList<Double>();
ArrayList<String>yourOrderName = new ArrayList<String>();
ArrayList<String> specifications = new ArrayList<String>();
Iterator<Double> it1 = yourOrderPrices.iterator();
private void calcButtonActionPerformed(java.awt.event.ActionEvent evt) {                                           

        int x = 0;
        double temp;

        while(it1.hasNext()){
            temp = yourOrderPrices.get(x);
            orderTotal += temp;
        }
        subTotalLabel.setText("Sub Total: " + orderTotal);
        totalPriceLabel.setText("Tax Rate: " + orderTotal / TAX_RATE);
        totalPriceLabel.setText("Total: " + (orderTotal / TAX_RATE) + orderTotal);

        //Reset Variable
        orderTotal = 0;


}                      

基本上,这应该做的是通过将 yourOrderPrices ArrayList 中的所有价格相加来计算小计,它应该除以税率并显示它,它应该为总价格添加税率.里面的变量代表食物的价格,是双倍的。 但是每次我按下按钮,整个程序都会冻结。

另外,我正在尝试将文本包装在 2 个 textArea 框中,但每次我尝试调用方法 setLineWrap(true);它在 Eclipse 上显示为无法做到这一点。这是我试图放入的两个文本区域:

    detailTextArea.setEditable(false);
    detailPanel.add(detailTextArea, java.awt.BorderLayout.CENTER);

    orderTextArea.setEditable(false);
    eastPanel.add(orderTextArea);

【问题讨论】:

    标签: java swing event-handling jtextarea word-wrap


    【解决方案1】:

    使用 a 代替每个。

    double orderTotal = 0;
    for(Double price : yourOrderPrices) {
        orderTotal += price;
    }
    

    至于 setLineWrap(true),Eclipse 到底说了什么?

    解决方案: 我安装了java和Eclipse并自己尝试了一下。我创建了一个 JTextArea 并将 lineWrap 设置为 true,它可以毫无怨言地工作。您是否检查过您是否导入了 javax.swing.JTextArea 而不是其他内容?

    我的代码供参考:

    import javax.swing.JTextArea;
    
    public class Main {
        public static void main(String[] args) {
            JTextArea area = new JTextArea();
            area.setLineWrap(true);
        }
    }
    

    【讨论】:

    • Eclipse 在对象 orderTextArea 下划线并表示方法 setLineWrap(boolean) 对于 TextArea 类型未定义
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 2019-08-19
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    相关资源
    最近更新 更多