Java if tableau
mousekey
-
mousekey -
mousekey -
Bonjour,
je sais qu'en c++ je pex faire cette commande.. if ( tab[i] == 0)... Cependant, en java, le compilateur mentionne que j'ai une erreur quand je fais if ( elemsFile[i] == 0)... elle est ou mon erreur...
boolean AjoutProcessus(int int_Nouvel_Element)
{
for ( int i =0 ; i < int_NbElement_Tableau ; ++i)
{
if ( elemsFile[i] == 0)
{
elemsFile[i] = int_Nouvel_Element ;
return true ;
}
}
return false ;
}
merci de m'aider...
mousekey
je sais qu'en c++ je pex faire cette commande.. if ( tab[i] == 0)... Cependant, en java, le compilateur mentionne que j'ai une erreur quand je fais if ( elemsFile[i] == 0)... elle est ou mon erreur...
boolean AjoutProcessus(int int_Nouvel_Element)
{
for ( int i =0 ; i < int_NbElement_Tableau ; ++i)
{
if ( elemsFile[i] == 0)
{
elemsFile[i] = int_Nouvel_Element ;
return true ;
}
}
return false ;
}
merci de m'aider...
mousekey
Configuration: windows xp java sdk 2
6 réponses
-
-
Voici le code source de la classe et le code du fichier test...
filePret
import java.io.*;
import java.lang.String;
class filePret
{
int int_NbElement_Tableau = 0 ;
int[] elemsFile ;
filePret()
{
int_NbElement_Tableau = 0 ;
}
filePret(int int_Nb_Element)
{
int[] elemsFile = new int[int_Nb_Element];
int_NbElement_Tableau = int_Nb_Element ;
for ( int i = 0 ; i < int_Nb_Element ; ++i)
{
elemsFile[i] = 0 ;
}
}
void SortirProcessus()
{
/* int int_Max = 0 ;
int int_Index_Elem_Max = 0 ;
for(int i = 0 ; i < int_NbElement_Tableau ; ++i)
{
if ( int_Max < elemsFile[i] )
{
int_Index_Elem_Max = i ;
}
}
elemsFile[int_Index_Elem_Max] = 0 ;
*/
}
boolean AjoutProcessus(int int_Nouvel_Element)
{
for ( int i =0 ; i < elemsFile.length ; i++)
{
if ( elemsFile[i] == 0 )
{
elemsFile[i] = int_Nouvel_Element ;
return true ;
}
}
return false ;
}
boolean EstVide()
{
boolean bool_Case_Libre = false ;
for ( int i =0 ; i < int_NbElement_Tableau ; i++)
{
if ( elemsFile[i] != 0)
{
return false ;
}
}
return true ;
}
void AfficherElementTableau()
{
/* for ( int i = 0 ; i < int_NbElement_Tableau ; i++)
{
System.out.println("Élément du tableau case " + i + " est " + elemsFile[i]);
}*/
}
void Attendre(int int_temps)
{
for ( int i = 0 ; i < int_temps ; ++i) ;
}
}
et le code du test....
class TestFilePret
{
public static void main(String args[])
{
filePret file = new filePret(10);
file.AfficherElementTableau();
for ( int i =0 ; i < 10 ; ++i)
file.AjoutProcessus(i);
file.AfficherElementTableau();
for ( int i =0 ; i < 10 ; ++i)
file.SortirProcessus();
file.AfficherElementTableau();
}
}
merci
mousekey
-
-
import java.lang.String;
public class filePret
{
int int_NbElement_Tableau = 0 ;
int[] elemsFile ;
public filePret(){
int_NbElement_Tableau = 0 ;
}
public filePret(int int_Nb_Element){
elemsFile = new int[int_Nb_Element];
int_NbElement_Tableau = int_Nb_Element ;
for ( int i = 0 ; i < int_Nb_Element ; ++i)
elemsFile[i] = 0 ;
}
public void SortirProcessus() {
int int_Max = 0 ;
int int_Index_Elem_Max = 0 ;
for(int i = 0 ; i < int_NbElement_Tableau ; ++i) {
if ( int_Max < elemsFile[i] )
int_Index_Elem_Max = i ;
}
elemsFile[int_Index_Elem_Max] = 0 ;
}
public boolean AjoutProcessus(int int_Nouvel_Element){
for ( int i =0 ; i < elemsFile.length ; i++){
if ( elemsFile[i] == 0 ){
elemsFile[i] = int_Nouvel_Element ;
return true ;
}
}
return false ;
}
public boolean EstVide(){
boolean bool_Case_Libre = true ;
for ( int i =0 ; i < int_NbElement_Tableau ; i++){
if ( elemsFile[i] != 0)
bool_Case_Libre=false ;
}
return bool_Case_Libre ;
}
public void AfficherElementTableau(){
for ( int i = 0 ; i < int_NbElement_Tableau ; i++)
System.out.println("Élément du tableau case " + i + " est " + elemsFile[i]);
}
public void Attendre(int int_temps){
for ( int i = 0 ; i < int_temps ; i++) ;
}
public static void main(String args[]) {
filePret file = new filePret(10);
file.AfficherElementTableau();
for ( int i =0 ; i < 10 ; ++i)
file.AjoutProcessus(i);
file.AfficherElementTableau();
for ( int i =0 ; i < 10 ; ++i)
file.SortirProcessus();
file.AfficherElementTableau();
}
}
J'ai testé et j'ai obtenu çà :
Élément du tableau case 0 est 0
Élément du tableau case 1 est 0
Élément du tableau case 2 est 0
Élément du tableau case 3 est 0
Élément du tableau case 4 est 0
Élément du tableau case 5 est 0
Élément du tableau case 6 est 0
Élément du tableau case 7 est 0
Élément du tableau case 8 est 0
Élément du tableau case 9 est 0
Élément du tableau case 0 est 1
Élément du tableau case 1 est 2
Élément du tableau case 2 est 3
Élément du tableau case 3 est 4
Élément du tableau case 4 est 5
Élément du tableau case 5 est 6
Élément du tableau case 6 est 7
Élément du tableau case 7 est 8
Élément du tableau case 8 est 9
Élément du tableau case 9 est 0
Élément du tableau case 0 est 0
Élément du tableau case 1 est 0
Élément du tableau case 2 est 0
Élément du tableau case 3 est 0
Élément du tableau case 4 est 0
Élément du tableau case 5 est 0
Élément du tableau case 6 est 0
Élément du tableau case 7 est 0
Élément du tableau case 8 est 0
Élément du tableau case 9 est 0
Voilà, j'ai plus d'erreurs à la compil, à toi de me dire si çà te va ?-
-
Bonjour,
quand je veux faire une comparaison à un tableau dans un if du genre elemsFile[i]!= 0 le compilateur ne mentionne aucune erreur... Cependant à l'exécution il me dit que j'ai une erreur à cette ligne... Pouvez-vous me donner un conseil car la je ne vois pas ou est mon erreur et si je prends le code que vous m'avez envoyé... ca me donne la meme chose...
merci
mousekey
-
-
hello
une erreur comme celle-ci veut dire que le code est correct, mais la variable i ne l'est pas.
Vérifie que i n'est pas inférieur à 0, car les tableaux commencent bien sûr à 0 ;-)
elemsFile[-1] fait planter ton programme ! -
oui bin dans ce cas c'est que ta variable int_NbElement_Tableau contient le nombre d'éléments de ton tableau.
Or le premier élément d'un tableau est 0,
Donc l'indice du dernier est (int_NbElement_Tableau - 1) !
c'est toujhours chiant ce genre de truc n'est ce pas;-)))-
Bonjour,
merci j'avais oblié le -1... mais pourqoui que l'exécuteur apres la compilateur j'ai un message d'erreur qui me mentionne que j'ai une erreur quand je veux faire ceci :
if ( elemsFile[i] == 0 ) ou if ( elemsFile[i] != 0 ) ou quand je veux faire System.out.println(+elemsFile[i]) avec une bonne boucle for bien argumenter...
merci
mousekey
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
salut,
essaie d'afficher dans ta boucle un message pour debugger.
->tu sauras si ca plante au tout début ou à la fin de ta boucle (peut-etre que i n'est tjs pas correct ?)
;-) -