2013-04-09 3 views
0

Я работаю над программой, чтобы дать вам руку с карточками, но я не совсем уверен, почему она не возвращает карты. Это метод из моего класса Builder, который генерирует случайную карту:Как вернуть несколько строк?

public static String hand(){ 

String card = Builder(); 
String card2 = Builder(); 
String card3 = Builder(); 
String card4 = Builder(); 
String card5 = Builder(); 

out.println("Your hand is: "); 
out.println(card); 
out.println(card2); 
out.println(card3); 
out.println(card4); 
out.println(card5); 

return card; 
return card2; 
return card3; 
return card4; 
return card5; 
+3

Может быть, сделать небольшой курс программирования; для некоторых новых перспектив и особенностей обучения. Лучше, чем отдельные вопросы. Хотя вас здесь приветствуют. –

ответ

0

возвращающие String массив:

return new String[] {card, card2, card3, card5, card5}; 

Edit:

Чтобы сделать эту работу, вы должны изменить возвращайте тип вашего метода до String[].

Я рекомендую Java Tutorial on defining methods.

+0

Он говорит, я не могу преобразовать String [] в строку я делаю это право общественности статической строки руки() { \t \t Струнных карты = Builder(); \t Строка card2 = Builder(); \t Строка card3 = Builder(); \t Строка card4 = Builder(); \t Строка card5 = Builder(); \t возвращение новый String [] {card, card2, card3, card4, card5}; – Blank1268

0

Вы можете вернуть только одно значение, то почему бы вам не вернуться массив строк

return new String[] {card, card2, card3, card4, card5}; 
1

Я бы порекомендовал вам прочитать «Head первый основной Java» как можно скорее.
Вы можете вернуть только одно значение из метода. Если вы все еще хотите, чтобы все переменные были установлены на заданные карты, следуйте нижеприведенному подходу. В таком случае вам не нужно возвращать даже одно значение (см. Тип возврата void). Все установлено внутри метода.

class Play { 
    String card; 
    String card2; 
    String card3; 
    String card4; 
    String card5; 

    public void hand() { 
     this.card = builder(); 
     this.card2 = builder(); 
     this.card3 = builder(); 
     this.card4 = builder(); 
     this.card5 = builder(); 
    } 

    private static String builder() { 
     // return random card 
     return null; //temporary set to null 

    } 
} 
0

Нет, вы не можете вернуть более одного значения.
Но вы можете отправить массив строк, содержащих все эти строки.

Чтобы объявить метод, попробуйте следующее:

Public String[] hand() { 
String card = Builder(); 
String card2 = Builder(); 
String card3 = Builder(); 
String card4 = Builder(); 
String card5 = Builder(); 
return new String[] {card, card2, card3, card4, card5}; 
} 
Смежные вопросы