2015-12-05 81 views
-1

我在打印这些阵列时遇到问题。我得到这个错误:在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); 
} 
} 
+0

你想做什么?添加2个arryas? – Fawzan

+0

你期望什么?像“雷司令干3.0,干4.50 ....”或“雷司令干,干...... 3.0,4.50 ....”? –

+0

您正在尝试打印2个数组的项目? –

回答

2

您正在使用二进制+运算符。具体而言,您分别给出了两个参数String[]double[]。这些类型对于+运营商无效。

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

+0

我做到了这一点:String summary =“Wine”+ rieslingArray +“Price”+ rieslingPrice; JOptionPane.showMessageDialog(null,summary); 但我得到随机字符输出 –

0

试试这个!

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

} 
+0

谢谢。用此打印项目一个接一个。我试图同时打印他们所有的人。 –

+0

看看'Parker Hoyes'的答案! –

0

也许你的困惑在于你想要将数组映射到element-for-element。由于您只是想在屏幕上显示一条消息,遍历每个数组并获取每个对应的元素都可以正常工作。

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

    } 
}