Erreurs en compilant JAVA

Fermé
Gerard - 20 janv. 2008 à 18:46
 Gerard - 20 janv. 2008 à 19:17
Bonjour,
Je suis complètement déprimé à cause d'un programme que j'ai trituré dans tous les sens sans qu'il ne veuille jamais marcher.. pourtant je suis sur que c'est juste un probleme d'organisation des différentes fonctions... (les fonctions en elles meme sont censées etre bonnes, faites avec un de mes prof..) lla, j'ai un ramassis d'erreur..
Le but, c'est de comparer deux tableaux d'entiers, tab1 et tab2.. Voila mon code ..

import java.io.*;
class exo1
{
public static int lire ()
{
String chaine = new String ();
System.out.print ("Entrez une valeur ");
chaine = lireClavier ();
System.out.println ();
return (new Integer (chaine) .intValue ());
}

public static String lireClavier ()
{
byte [] lu=new byte [50];
try { System.in.read (lu,0,50); }
catch (IOException e) {
System.out.print ("Erreur dans la saisie");
}
String s=new String (lu,0,50);
return s.trim();
}

public static int[] construction()
{
System.out.println("Veillez entrer la taille du tableau");
int taille=lire();
int tab[] = new int[taille];

for(int i=1;i<=taille;i++)
{
System.out.println("Veillez entrer le valeur de la case "+i);
tab[i-1]=lire();
}
return tab;
}

public static void compartab ()
{
int i;
int t1=tab1.length;
int t2=tab2.length;
int res;
if (t1<t2)
{
int res;
int i;
for (i=0;i<t1;i++);
res=compar(tab1[i],tab2[i]);
if (res!=0)
return res;
}
else
{
if (t2<t1)
{
int res;
int i;
for (i=0;i<t2;i++);
res= compar(tab1[i],tab2[i]);
if (res!=0)
return res;
}
else
{
int res;
int i;
for (i=0;i<t1;i++)
res= compar(tab1[i],tab2[i]);
if (res!=0)
return res;
}
}
return res;
}

public static void compar ()
{
int res;
int val1;
int val2;
if (val1>val2)
res=1;
else
{
int res;
if (val1<val2)
res=-1;
else
res=0;
}
return res;
}

public static void affiche(int tab[])
{
for(int i=1;i<=tab.length;i++)
{
System.out.println(tab[i-1]);
}
}

public static void main (String[] args)
{
int tab1[]=construction();
int tab2[]=construction();
System.out.println("Tableau 1");
affiche(tab1);
System.out.println("Tableau 2");
affiche(tab2);
compartab ();

}
}



Bref, c'est long et tout, alors si vous donnez pas trop de mal non plus je comprendrais ..
Merci à ceux qui s'y pencheront éventuellement.
A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
20 janv. 2008 à 19:11
Salut
La prochaine fois que tu mets un code, utilise les balises "
"


Voici une correction de ton code. J'ai juste corrigé la syntaxe, pas les erreurs d'algorithme, ni la propreté de ton code.

import java.io.*;
class exo1
{
    public static int lire ()
    {
	String chaine = new String ();
	System.out.print ("Entrez une valeur ");
	chaine = lireClavier ();
	System.out.println ();
	return (new Integer (chaine) .intValue ());
    }

    public static String lireClavier ()
    {
	byte [] lu=new byte [50];
	try { System.in.read (lu,0,50); }
	catch (IOException e) {
	    System.out.print ("Erreur dans la saisie");
	}
	String s=new String (lu,0,50);
	return s.trim();
    }

    public static int[] construction()
    {
	System.out.println("Veillez entrer la taille du tableau");
	int taille=lire();
	int tab[] = new int[taille];

	for(int i=1;i<=taille;i++)
	    {
		System.out.println("Veillez entrer le valeur de la case "+i);
		tab[i-1]=lire();
	    }
	return tab;
    }

    public static int compartab (int[] tab1, int[] tab2)
    {
	int i;
	int t1=tab1.length;
	int t2=tab2.length;
	int res=0;
	if (t1<t2)
	    {
		for (i=0;i<t1;i++);
		res=compar(tab1[i],tab2[i]);
		if (res!=0)
		    return res;
	    }
	else
	    {
		if (t2<t1)
		    {
			for (i=0;i<t2;i++);
			res= compar(tab1[i],tab2[i]);
			if (res!=0)
			    return res;
		    }
		else
		    {
			for (i=0;i<t1;i++)
			    res= compar(tab1[i],tab2[i]);
			if (res!=0)
			    return res;
		    }
	    }
	return res;
    }

    public static int compar (int val1, int val2)
    {
	int res;
	if (val1>val2)
	    res=1;
	else
	    {
		if (val1<val2)
		    res=-1;
		else
		    res=0;
	    }
	return res;
    }

    public static void affiche(int tab[])
    {
	for(int i=1;i<=tab.length;i++)
	    {
		System.out.println(tab[i-1]);
	    }
    }

    public static void main (String[] args)
    {
	int tab1[]=construction();
	int tab2[]=construction();
	System.out.println("Tableau 1");
	affiche(tab1);
	System.out.println("Tableau 2");
	affiche(tab2);
	compartab (tab1,tab2);

    }
} 



Bon code
0
Merci, Merci, Merci, Merci beaucoup !
C'est super sympa, je vais pouvoir me pencher plus attentivement dessus.
Je ne sais vraiment pas comment te remercier.
:)
0