Petit exercice java
Bonjour,
je un petit exercice java et il m'a demandé d'afficher le personne le moin agé .voici ma réponce mais il marche plus et merci de votre aide si c'est possible :
public class conte {
private String nom;
private String prenom;
private int eta;
public conte(String n,String p,int e)
{
this.nom=n;
this.prenom=p;
this.eta=e;
}
public static void println(conte[] b)
{
for(int i=0;i<b.length;i++)
{
System.out.println("le tableau est "+b[i]);}}
public static int f(conte[]a)
{
int min=a[0].eta;
for(int i=1;i<a.length;i++)
{
if(a[i].eta<min)
{min=a[0].eta;
}
}
return min;
}
public static void main(String[]args)
{
conte []n=new conte[4];
n[0]=new conte("jj","hhh",4);
n[1]=new conte("jj","hhh",7) ;
n[2]=new conte("jj","hhh",3);
n[3]=new conte("jj","hhh",8) ;
conte []b=new conte[2];
System.out.println(conte.f(b));
}
}
je un petit exercice java et il m'a demandé d'afficher le personne le moin agé .voici ma réponce mais il marche plus et merci de votre aide si c'est possible :
public class conte {
private String nom;
private String prenom;
private int eta;
public conte(String n,String p,int e)
{
this.nom=n;
this.prenom=p;
this.eta=e;
}
public static void println(conte[] b)
{
for(int i=0;i<b.length;i++)
{
System.out.println("le tableau est "+b[i]);}}
public static int f(conte[]a)
{
int min=a[0].eta;
for(int i=1;i<a.length;i++)
{
if(a[i].eta<min)
{min=a[0].eta;
}
}
return min;
}
public static void main(String[]args)
{
conte []n=new conte[4];
n[0]=new conte("jj","hhh",4);
n[1]=new conte("jj","hhh",7) ;
n[2]=new conte("jj","hhh",3);
n[3]=new conte("jj","hhh",8) ;
conte []b=new conte[2];
System.out.println(conte.f(b));
}
}
5 réponses
-
Hello,
Il me semble qu'il y a une erreur dans ta fonction public static void println(conte[] b)
A la fin,
if(a[i].eta<min)
{min=a[0].eta;
}
c'est plutôt min = a[i].eta -
ah je crois que ça y est, à la fin tu as fait :
conte []n=new conte[4];
n[0]=new conte("jj","hhh",4);
n[1]=new conte("jj","hhh",7) ;
n[2]=new conte("jj","hhh",3);
n[3]=new conte("jj","hhh",8) ;
conte []b=new conte[2];
System.out.println(conte.f(b));
mais le b n'est pas rempli !
Essaye plutôt System.out.println(conte.f(n));-
-
-
sinon tu peux faire :
public class conte { private String nom; private String prenom; private int eta; public conte(String n,String p,int e) { this.nom=n; this.prenom=p; this.eta=e; } public static int minAge(conte[]a){ int min=a[0].eta; int j = 0 ; for(int i=1;i<a.length;i++) { if(a[i].eta<min) {min=a[i].eta; j=i ; } } return j; } public static void main(String[]args) { conte []n=new conte[4]; n[0]=new conte("jj","hhh",4); n[1]=new conte("jj","hhh",7) ; n[2]=new conte("jj","hhh",3); n[3]=new conte("jj","hhh",8) ; conte []b=new conte[2]; int indice = conte.minAge(n); System.out.println(n[indice].eta); System.out.println(n[indice].nom); } } -
-
-
-
public class conte { private String nom; private String prenom; private int eta; public conte(String n,String p,int e) { this.nom=n; this.prenom=p; this.eta=e; } public static int minAge(conte[]a){ int min=a[0].eta; int j = 0 ; for(int i=1;i<a.length;i++) { if(a[i].eta<min) {min=a[i].eta; j=i ; } } return j; } public static void main(String[]args) { conte []n=new conte[4]; n[0]=new conte("jj1","hhh",4); n[1]=new conte("jj2","hhh",7) ; n[2]=new conte("jj3","hhh",3); n[3]=new conte("jj4","hhh",8) ; conte []b=new conte[2]; int indice = conte.minAge(n); System.out.println(n[indice].eta); int min=n[0].eta; int min1=n[0].eta; int j = 0, l= 0 ; for(int i=1;i<n.length;i++) { if(n[i].eta<min) {min=n[i].eta; j=i ; } } for (int k= 1 ; k<n.length;k++){ if (k!=j && n[k].eta<min1){ min1 = n[k].eta; l=k; } } System.out.println(n[j].nom); System.out.println(n[l].nom); } } -
Comme ça :
public class conte { private String nom; private String prenom; private int eta; public conte(String n,String p,int e) { this.nom=n; this.prenom=p; this.eta=e; } public static String[] minAge(conte[]n){ String tab[] ; tab = new String [2]; int min=n[0].eta; int min1=n[0].eta; int j = 0, l= 0 ; for(int i=1;i<n.length;i++) { if(n[i].eta<min) {min=n[i].eta; j=i ; } } for (int k= 1 ; k<n.length;k++){ if (k!=j && n[k].eta<min1){ min1 = n[k].eta; l=k; } } tab[0] = n[j].nom ; tab[1] = n[l].nom ; return tab ; } public static void main(String[]args) { conte []n=new conte[4]; n[0]=new conte("jj1","hhh",4); n[1]=new conte("jj2","hhh",7) ; n[2]=new conte("jj3","hhh",3); n[3]=new conte("jj4","hhh",8) ; String []b=new String[2]; b = minAge(n); System.out.println(b[0]); System.out.println(b[1]); } } -
Mon java est peut-être en peu rouillé mais :
On n'écris pas plutôtObjet[] tableau
au lieu deObjet []tableau
pour un tableau d'objets ?