有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用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);
}
}

共 (3) 个答案

  1. # 1 楼答案

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

    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);
    
        }
    }
    
  2. # 2 楼答案

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

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

  3. # 3 楼答案

    试试这个

    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]);
    
    }