繁体   English   中英

用Java打印两个数组

[英]Print two Arrays in java

我在打印这些数组时遇到问题。 我收到此错误:

bad operand types for binary operator '+'. 

不知道我在想什么。 当我只打印第一个时,它可以正常工作,但是当我添加第二个时,则不工作。 我究竟做错了什么? 这是我的代码:

import javax.swing.JOptionPane;

public class testMenu {

public static void main(String[] args) {

String[] rieslingArray = {"Riesling","Dry","Off Dry", "Sweet"};
double[] rieslingPrice = {3.0,4.50,4.00,5.00};

JOptionPane.showMessageDialog(null, rieslingArray  + rieslingPrice);
}
}

您正在使用二进制+运算符。 具体来说,您给它分别提供了String[]double[]类型的两个参数。 这些类型对于+运算符无效。

您可以尝试使用第二条语句打印第二个数组,或者连接两个数组的字符串表示形式,然后在单个语句中打印该字符串。 以下内容可能对获取数组的字符串表示形式有用: Arrays.toString(array)

尝试这个!

String[] rieslingArray = {"Riesling","Dry","Off Dry", "Sweet"};
double[] rieslingPrice = {3.0,4.50,4.00,5.00};

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

    JOptionPane.showMessageDialog(null, rieslingArray[i]  + rieslingPrice[i]);

}

也许您在这里的困惑是,您想将数组映射为逐个元素。 由于您只是想在屏幕上显示消息,因此遍历每个数组并获取每个对应的元素就可以了。

import javax.swing.JOptionPane;

public class TestMenu {

    public static void main(String[] args) {

        String[] rieslingArray = {"Riesling", "Dry", "Off Dry", "Sweet"};
        double[] rieslingPrice = {3.0, 4.50, 4.00, 5.00};

        StringBuilder messageBuilder = new StringBuilder();
        for (int i = 0; i < rieslingArray.length; i++) {
            messageBuilder.append(rieslingArray[i] + ": " + rieslingPrice[i] + "\n");
        }
        String message = messageBuilder.toString();
        JOptionPane.showMessageDialog(null, message);

    }
}

暂无
暂无

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

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