2017-09-17 4 views
-1

Je suis novice en codage et je dois coder une grille d'étoiles NxN comme affectation. Il y a un programme de testeur du professeur qui donne des entrées et teste le code. Le problème est que nous devons écrire le code comme une méthode et le test obtient tout ce que j'ai mis à mon déclaration de retour comme résultat au lieu de la sortie correcte. Comment puis-je réorganiser le code que la déclaration de retour me donnera le résultat?Donner la sortie de la console comme instruction de retour Java

public class Assignment 
{ 
public static void main(String[] args) 
    { 
    run(0); 
    } 
public static int run(int i) 
    { 
     for (int row = 0; row < i; row++) 
     { 
      for (int col = 0; col < i; col++) 
       System.out.print("*"); 
       System.out.print("\n"); 
     } 

     //How can I change the return so that the tester gets the 
     //correct result? 

     return ?output?; 
    } 
} 
+1

Quelle est la sortie correcte supposée être? –

+0

Si l'entrée de test est 2, par exemple, il est supposé imprimer un carré 2x2 sur * As; ** \ n ** \ n – isitan

+1

Le type de retour de la fonction doit être un 'int'. Un carré 'NxN' ne sera jamais un int. – twain249

Répondre

1

Si je vous ai bien compris, vous voulez avoir un objet pour le renvoyer. Il y a beaucoup de possibilités, par exemple:

public static String run(int size) { 
    StringBuilder sb = new StringBuilder(); 
    for (int i = 0; i < size; i++) { 
     for (int j = 0; j < size; j++) { 
      sb.append("*"); 
     } 
     sb.append("\n"); 
    } 

    System.out.println(sb.toString()); 

    return sb.toString(); 
} 

Vous devez changer un type de retour en chaîne.

+0

Ceci est bon, mais il y a beaucoup de déclarations sur votre solution que nous n'avons pas encore apprise, le truc doit être de niveau débutant: D – isitan

+0

La seule nouvelle chose est StringBuilder. Au lieu de déclarer StringBuilder, déclarez une chaîne et remplacez sb.append ("character") par myString + = "character", et à la fin, vous pouvez le retourner. C'est moins efficace, mais ça marche toujours. – Kermi

+0

J'ai déjà utilisé la chaîne et System.out.print à la place des autres choses. Mais que puis-je utiliser à la place de x.tostring()? – isitan