2015-12-05 6 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

Что вы ожидаете? Что-то вроде 'Riesling Dry 3.0, Dry 4.50 ....' или 'Рислинг Сухой, Сухой ... 3.0, 4.50 ....'? –

+0

Вы пытаетесь напечатать 2 массива? –

ответ

2

Вы делаете использование бинарного + оператора. В частности, вы даете ему два аргумента типа String[] и double[] соответственно. Эти типы недействительны для оператора +.

Вы можете попробовать распечатать второй массив со вторым оператором или объединить представления строк из двух массивов и напечатать эту строку в одном выражении. Для получения строкового представления массивов может быть полезно следующее: Arrays.toString(array).

+0

Я сделал это: Строка 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

Посмотрите на ответ «Паркер Хойес»! –

0

Возможно, ваше замешательство состоит в том, что вы хотите сопоставить массивы вместе элемент-элемент. Поскольку вы просто пытаетесь сделать отображение сообщений на экране, повторение каждого массива и получение каждого соответствующего элемента работает отлично.

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

    } 
} 
Смежные вопросы