le problème c'est
que les struct en java ça n'existe pas... en gros en C++ tu vois que les struct sont plus ou moins
équivalentes à un objet java dans le sens ou tu les considères plus
comme des objets (une struc peut utiliser le mot clé new pour l'instancier, un objet C++ peut hériter d'une struct, etc...); maintenant pour ce qui est de l'initialisation,
en java contrairement au c/c++ tu dois obligatoirement passer par le
constructeur de l'objet (ou les setteurs de ton objet).
PS : Si tu as eu l'aide escompté
merci de valider la ou les réponses qui ont résolus le
problème.
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
KenZara
Messages postés112Date d'inscriptionvendredi 24 décembre 2004StatutMembreDernière intervention20 décembre 2011 17 janv. 2008 à 15:02
Bonjour,
C'est normal si tes tableaux ont le meme nom ? Sinon essaie de mettre un String, parce qu'à un moment tu fais "SBY" et ca c'est un String il me semble ....
cs_dunith
Messages postés100Date d'inscriptionsamedi 5 janvier 2008StatutMembreDernière intervention11 avril 2008 17 janv. 2008 à 15:41
bonjour
en faite la première ligne c'est la déclaration du tableau:
char[][] TabComd = new char[10][15];
et la deuxième ligne c'est pour initialiser le tableau
char[][] TabComd ={{0,"", 0, 0},
{nbParamIn,"STA", nbParamOut,nbCaracAtt},
{nbParamIn,"RPM", nbParamOut,nbCaracAtt},
{nbParamIn,"SBY", nbParamOut,nbCaracAtt}};
mais vu que un tableau à deux dimensions, il est fait que pour le même type de donnée, mais pour mon cas j'ai un string et un char........
donc la seule solution c'est de créer une classe struct (vu struct en C n'existe pas en java)......mais je ne sais pas commet affecter cette struct comme un tableau........
quelq'un peut me dire s'il y a un exemple sur le net ou sur le forum, si possible de me l'envoyer,
j'éspère que j'ai bien expliqué car je suis débutante......
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
KenZara
Messages postés112Date d'inscriptionvendredi 24 décembre 2004StatutMembreDernière intervention20 décembre 2011 17 janv. 2008 à 16:05
Euuh,
Pour ce qui est de :
char[][] TabComd ={{0,"", 0, 0},
{nbParamIn,"STA", nbParamOut,nbCaracAtt},
{nbParamIn,"RPM", nbParamOut,nbCaracAtt},
{nbParamIn,"SBY", nbParamOut,nbCaracAtt}};
Là tu redéclares ton tableau en char[][] ... Pour faire une simple initialisation tu fais juste un:
TabComd ={{0,"", 0, 0},
{nbParamIn,"STA", nbParamOut,nbCaracAtt},
{nbParamIn,"RPM", nbParamOut,nbCaracAtt},
{nbParamIn,"SBY", nbParamOut,nbCaracAtt}};
Concernant l'équivalent de struct en Java c'est Enum.
Sinon, est ce que tes nbParamIn et Out sont obligatoirement des chars, tu peux mettre un string ou faire :
cs_dunith
Messages postés100Date d'inscriptionsamedi 5 janvier 2008StatutMembreDernière intervention11 avril 2008 17 janv. 2008 à 16:22
bonjour
après avoir déclaré mon tableau;
je l'ai initialisé comme suit:
TabComd ={{0,'', 0, 0},
{nbParamIn,'STA', nbParamOut,nbCaracAtt},
{nbParamIn,'RPM', nbParamOut,nbCaracAtt},
{nbParamIn,'SBY', nbParamOut,nbCaracAtt}};
cs_dunith
Messages postés100Date d'inscriptionsamedi 5 janvier 2008StatutMembreDernière intervention11 avril 2008 17 janv. 2008 à 17:01
bonjour
l'erreur de tout à l'heure,elle n'est plus, en mettant
comme vous m'avez dit:
char[][] TabComd ={{0,'', 0, 0},
{nbParamIn,'STA', nbParamOut,nbCaracAtt},
{nbParamIn,'RPM', nbParamOut,nbCaracAtt},
{nbParamIn,'SBY', nbParamOut,nbCaracAtt}};
par contre il me met une erreur:
empty character literal : à cause de ''
et unclosed character literal à cause de 'STA', car c'est une chaine de caractère.......
je ne sais pas comment je doit déclaré STA, RPM, SBY qui sont des string qui correspondent aux noms des commandes.
KenZara
Messages postés112Date d'inscriptionvendredi 24 décembre 2004StatutMembreDernière intervention20 décembre 2011 17 janv. 2008 à 17:11
Euh pour le empty character met un null à la place,
Concernant les STA Mmmm, c'est assez délicat, vu que c'est carrément un String et que pour convertir tu peux convertir STA en tableau de char de telle sorte que tu auras: 'S', 'T' et 'A' ....
Ma question as tu besoin d'avoir un tableau de chars ? et est ce qu'un tableau de string ne t'aiderait pas ?
cs_dunith
Messages postés100Date d'inscriptionsamedi 5 janvier 2008StatutMembreDernière intervention11 avril 2008 17 janv. 2008 à 17:22
bonjour;
ce que j'ai compris mettre mon tableau à deux dimensions en string, comme suit
String[][] TabComd ={{0,'', 0, 0},
{nbParamIn,'STA', nbParamOut,nbCaracAtt},
{nbParamIn,'RPM', nbParamOut,nbCaracAtt},
{nbParamIn,'SBY', nbParamOut,nbCaracAtt}};
mais nbParamIn , nbParamOut, nbCaracAtt se sont des bytes et non des string; à part si je vais les convertir en string?
KenZara
Messages postés112Date d'inscriptionvendredi 24 décembre 2004StatutMembreDernière intervention20 décembre 2011 17 janv. 2008 à 17:38
Qu'il suffit de faire un valueOf(paramIn) là ou tu veux mettre tes paramIn en String.. Cette fonction te renvoit un String et prend en paramétre, soit un entier / long / char ou Objet ...
cs_dunith
Messages postés100Date d'inscriptionsamedi 5 janvier 2008StatutMembreDernière intervention11 avril 2008 18 janv. 2008 à 11:31
bonjour
pour le tableau à deux dimensions, j'ai abondonné,
la seule solution est de créer une classe TParamCmd ailleurs,comme suit:
class TParamCmd
{
public byte nbParamIn;
public String idCmd;
public byte nbParamOut;
public byte nbCaracAtt;
}
et puis dans ma classe TATHMProtocole qui est déclarée ailleurs que la précédente:
j'ai déclaré et initialise mon tableau de type TParamCmd, comme suit :
TParamCmd[] ParamCmd = {{0,"", 0, 0},
{0,"STA", 0, 78},
{1,"RPM", 0, 8},
{1,"SBY", 0, 8}};
mais il me mit une erreur : illegal initializer for TParamCmd, à cause des {
vous pouvez me dire comment je dois déclarer et initialise mon tableau de la classe TParamCmd, ou m'envoyer un exemple qui est sur le net.....
merci et encore une fois je suis vraiment débutante de ce langage et je travaille sur l'envoi de commnde de l'API vers les pompes via RS232.
cs_dunith
Messages postés100Date d'inscriptionsamedi 5 janvier 2008StatutMembreDernière intervention11 avril 2008 18 janv. 2008 à 13:40
salut
vous m'avez sauvez.........ça marche nickel......
j'ai une questionà vous posez:
donc pour déclareret utiliser les struct (en C++), en Java il faut les déclarer comme vous m'avez montré si dessus?
merci encore .