2015-02-18 13 views
6

Sono molto nuovo alla programmazione e di recente ho provato ad iscrivermi a code wars. Mostra una serie di problemi, presumibilmente prima di far iscrivere qualcuno.Code wars: Sign up issue

Al minuto mi sono bloccato su questo:

public class Person{ 
    String name; 

    public Person(String personName){ 
     name = personName; 
    } 

    public String greet(String yourName){ 
     return String.format("Hi %s, my name is %s", yourName, name); 
    } 
} 

Affermare correggere questo codice, in modo che la funzione salutare restituisce il valore atteso.

Non posso per la vita di me capire quale sia il problema. Ho provato ad inserire il codice in eclissi e non ci sono errori, quindi non sono del tutto sicuro di cosa sia richiesto

+3

Guarda gli ordini dei parametri della funzione di formattazione. –

+0

eseguirlo bene in "IDE" sul sito restituisce solo l'errore generico "Il codice non funziona come previsto". Potrebbe essere un problema di assegnazione? – user1738642

+0

Questa domanda è fuori tema perché riguarda la spiegazione delle istruzioni. – JJJ

risposta

8

Penso che voglia che saluti qualcun altro.

public class Person{ 
String name; 

public Person(String personName){ 
    name = personName; 
} 

public String greet(String yourName){ 
    return String.format("Hi %s, my name is %s", name, yourName); 
} 
} 

modo che l'uscita è

Hi (persona), il mio nome è (qualunque sia il vostro nome è)

+2

*/facepalm * beh, è ​​stata una bella mezz'ora che ho perso. Non posso credere di non averlo notato. –

2

La risposta è: Justyou bisogno di due di swap le variabili in String.Format() .

Domanda:

ritorno String.Format ("Ciao% s, il mio nome è% s", nome, yourName);

Risposta:

ritorno String.Format ("Ciao% s, il mio nome è% s", yourName, nome);

 public class Person 
    { 
     String name; 
     public Person(String personName){ 
     name = personName; 
     } 
     public String greet(String yourName) 
      { 
      return String.format("Hi %s, my name is %s", yourName,name); 
      } 
     } 
5

Seriamente, è stata una perdita di tempo. Ho avuto lo stesso problema, non c'è nulla di relativo alla ricerca di errori, voglio solo salutarti. Quindi basta scambiare gli argomenti (name, yourName) nell'istruzione return.

0

Come accennato, il compilatore si aspetta una certa stringa come seguendo,

public class Person{ 
String name; 

public Person(String personName){ 
    name = personName; 
} 

public String greet(String yourName){ 
    return String.format("Hi %s, my name is %s", "Kate", "Joe"); 
} 
}