2015-04-17 1 views
0

Je suis juste en train de faire une classe aléatoire afin que je puisse déconner et apprendre Java avec elle. J'ai un peu baissé ce concept d'arguments.Ce n'est pas applicable pour les arguments (int, String), mais j'ai le bon format pour cela

public class OffensiveLine { 

    public static void main(String args[]){ 
     String[] blocks = {"Swim Move", "Hello"}; 
     LineMan jeff = new LineMan(80, 90); 
     int i = 1; 

     WideReciever.block(32, blocks[i]); 
     jeff.block(); 
    } 

} 

public class WideReciever extends Speed{ 
    static Date now = new Date(1); 

    public WideReciever() { 
     // TODO Auto-generated constructor stub 
     super(); 
    } 

    public static void run(){ 

    } 

    public static void block(int b, String[] wow){ 
     int i = 1; 
     System.out.println(wow[i]); 


    } 

} 
+3

'blocs [i]' est une chaîne et non un tableau de chaînes . –

+0

J'aime votre nom de variable. –

Répondre

2

Ce

WideReciever.block(32, blocks[i]); 

passe dans un int et un String à une méthode qui accepte un int et un tableau de chaînes. Ce que vous essayez de faire est susceptible:

WideReciever.block(32, blocks); 
5
public static void block(int b, String[] wow){ 

Cette méthode veut un tableau de chaînes.

Cependant, vous l'appelez comme ceci:

WideReciever.block(32, blocks[i]); 

blocks est un tableau de chaînes, mais blocks[i] est juste une chaîne.

Vous pouvez soit changer la méthode block pour une chaîne de caractères, ou passer le tableau dans:

public static void block(int b, String[] wow) { 
    System.out.println(wow[1]); 
} 

ou:

WideReciever.block(32, blocks);