2015-12-05 80 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); 

    } 
}