Java 数组函数中的乘法

Java 数组函数中的乘法,java,arrays,Java,Arrays,$这是完整的代码 import javax.swing.JOptionPane; public class Testing { public static void main(String[] args) { // TODO Auto-generated method stub // Asks how many bills you want to calculate int numBills = Integer.parseInt(JOptionPane.showInp

$这是完整的代码

import javax.swing.JOptionPane;

public class Testing {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    // Asks how many bills you want to calculate
    int numBills = Integer.parseInt(JOptionPane.showInputDialog("Enter Number of Bills you want to calculate"));

    // Declares the variables and elements in array
    double[] tkw = new double[numBills];
    double[] hours = new double[numBills];
    double[] ckwh = new double[numBills];
    double[] totalkwh = new double[numBills];
    double[] totalconsu = new double[numBills];
    double[] billtotal = new double[numBills];
    int i = 0;

    // Asks the values to calculate the bill
    while (i < numBills) {
        tkw[i] = Double.parseDouble(JOptionPane.showInputDialog("Enter the Total Kilowatts used: " + i));
        hours[i] = Double.parseDouble(JOptionPane.showInputDialog("Enter Number of Hours a month: " + i));
        ckwh[i] = Double.parseDouble(JOptionPane.showInputDialog("Enter Cost per Kilowatt hour (kWh): " + i));
        // the calculation of the bills
        totalkwh[i] = tkw[i] * hours[i] * 30;
        totalconsu[i] = totalkwh[i] / 1000;
        billtotal[i] = totalconsu[i] * ckwh[i];
        i = i + 1;
    }
    i = 0;
    while (i < numBills) {
        // Retrieve and display value at i (current element)
        System.out.println(i + " The Total cost of your Electricity Bill is $ " + billtotal);
        i = i + 1;
    }
}
import javax.swing.JOptionPane;
公共类测试{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
//询问您要计算多少账单
int numBills=Integer.parseInt(JOptionPane.showInputDialog(“输入要计算的票据数量”);
//声明数组中的变量和元素
double[]tkw=新的double[numBills];
双倍[]小时=新的双倍[麻木];
double[]ckwh=新的double[numBills];
double[]totalkwh=新的double[numBills];
double[]totalconsu=新的double[numBills];
double[]billtotal=新的double[numBills];
int i=0;
//询问值以计算账单
而(我<麻木病){
tkw[i]=Double.parseDouble(JOptionPane.showInputDialog(“输入使用的总千瓦数:”+i));
小时数[i]=Double.parseDouble(JOptionPane.showInputDialog(“输入每月小时数:+i));
ckwh[i]=Double.parseDouble(JOptionPane.showInputDialog(“输入每千瓦时成本(kWh):”+i));
//账单的计算
总千瓦时[i]=tkw[i]*小时[i]*30;
totalconsu[i]=totalkwh[i]/1000;
billtotal[i]=totalconsu[i]*ckwh[i];
i=i+1;
}
i=0;
而(我<麻木病){
//检索并显示i处的值(当前元素)
System.out.println(i+“您的电费账单的总成本为$”+billtotal);
i=i+1;
}
}
}

这是我使用的输入,如果我想运行2个法案

工程量清单1 tkw=100,小时数=10,ckwh=5

工程量清单2 tkw=200,小时数=20,ckwh=7

账单1的输出应为“电费账单的总成本为150.0美元”

账单2的输出应为“电费账单的总成本为840.0美元”

当我为2张账单运行代码时得到的输出是

“0您电费的总成本为美元[D@5fcfe4b2

1您电费的总成本为美元[D@5fcfe4b2“

你可以这样做

double[] billtotal = new double[numBills];
int i = 0;

while (i < numBills) {
    tkw[i] = Double.parseDouble(JOptionPane.showInputDialog("Enter the Total 
    Kilowatts used: " + i));
    hours[i] = Double.parseDouble(JOptionPane.showInputDialog("Enter Number 
    of Hours a month: " + i));
    ckwh[i] = Double.parseDouble(JOptionPane.showInputDialog("Enter Cost per 
    Kilowatt hour (kWh): " + i));

    totalkwh[i] = tkw[i] * hours[i] * 30;
    totalconsu[i] = totalkwh[i] / 1000;
    billtotal[i] = totalconsu[i] * ckwh[i];
    i = i + 1;
}

i = 0;
while (i < numBills) {
    // Retrieve and display value at i (current element)
    System.out.println(i + " The Total cost of your Electricity Bill is $ " + billtotal[i]);
    i = i + 1;
}
double[]billtoal=新的double[numBills];
int i=0;
而(我<麻木病){
tkw[i]=Double.parseDouble(JOptionPane.showInputDialog(“输入总数
所用千瓦数:“+i”);
小时[i]=Double.parseDouble(JOptionPane.showInputDialog(“输入数字
每月小时数:“+i”);
ckwh[i]=Double.parseDouble(JOptionPane.showInputDialog(“输入每小时成本
千瓦时(kWh):“+i”);
总千瓦时[i]=tkw[i]*小时[i]*30;
totalconsu[i]=totalkwh[i]/1000;
billtotal[i]=totalconsu[i]*ckwh[i];
i=i+1;
}
i=0;
而(我<麻木病){
//检索并显示i处的值(当前元素)
System.out.println(i+“您的电费账单的总成本是$”+billtoal[i]);
i=i+1;
}
你可以像这样做

double[] billtotal = new double[numBills];
int i = 0;

while (i < numBills) {
    tkw[i] = Double.parseDouble(JOptionPane.showInputDialog("Enter the Total 
    Kilowatts used: " + i));
    hours[i] = Double.parseDouble(JOptionPane.showInputDialog("Enter Number 
    of Hours a month: " + i));
    ckwh[i] = Double.parseDouble(JOptionPane.showInputDialog("Enter Cost per 
    Kilowatt hour (kWh): " + i));

    totalkwh[i] = tkw[i] * hours[i] * 30;
    totalconsu[i] = totalkwh[i] / 1000;
    billtotal[i] = totalconsu[i] * ckwh[i];
    i = i + 1;
}

i = 0;
while (i < numBills) {
    // Retrieve and display value at i (current element)
    System.out.println(i + " The Total cost of your Electricity Bill is $ " + billtotal[i]);
    i = i + 1;
}
double[]billtoal=新的double[numBills];
int i=0;
而(我<麻木病){
tkw[i]=Double.parseDouble(JOptionPane.showInputDialog(“输入总数
所用千瓦数:“+i”);
小时[i]=Double.parseDouble(JOptionPane.showInputDialog(“输入数字
每月小时数:“+i”);
ckwh[i]=Double.parseDouble(JOptionPane.showInputDialog(“输入每小时成本
千瓦时(kWh):“+i”);
总千瓦时[i]=tkw[i]*小时[i]*30;
totalconsu[i]=totalkwh[i]/1000;
billtotal[i]=totalconsu[i]*ckwh[i];
i=i+1;
}
i=0;
而(我<麻木病){
//检索并显示i处的值(当前元素)
System.out.println(i+“您的电费账单的总成本是$”+billtoal[i]);
i=i+1;
}

im得到的“表达式的类型必须是数组类型,但它解析为double”,对于
billtoal[i]=totalconsu[i]*ckwh[i];
double billtoal=0的“复制局部变量billtoal”;如果我运行代码,则输出上有一个错误“0您的电费账单的总成本是$[D@5fcfe4b21您电费的总成本为美元[D@5fcfe4b2“天哪!!你说得对,这是一个打字错误(facepalm)谢谢你今天花了这么多时间调试我得到了
billtotal[i]=totalconsu[i]*ckwh[i];
和“Duplicate local variable billtotal”(重复本地变量billtotal)用于
double billtotal=0;
如果我运行代码,则输出“0您的电费账单的总成本为$[D@5fcfe4b21您电费的总成本为美元[D@5fcfe4b2“天哪!!你说得对,这是个打字错误(facepalm)非常感谢你,我今天花了很多时间试着调试