[java minimum/maximum]

[java minimum/maximum] - Java - Programmation

Marsh Posté le 21-11-2007 à 08:55:38    

Bonjour,
Débutant sous Java je ne parviens pas à trouver mon erreur dans un petit programme que j'ai écrit; Le programme consiste à trouver le minimum d'une liste de nombres. A chaque fois que je l'éxecute, il me renvoie la même valeur minimale et la même valeur max : la valeur avec laquelle j'ai initialisé mes deux variables. Pouvez vous m'aider à trouver où est mon erreur?(je tourne en rond depuis depuis un bout de temps!)
Merci
 
import java.util.*;
public class Datenanalyse {
 public static void main (String [] args) {
 Locale.setDefault(Locale.US);
  Scanner sc = new Scanner (System.in) ;
  System.out.println("Geben Sie bitte ein Zahl ein" );
  int N;
  System.out.print("N = " );
  N = sc.nextInt();
  double [] f = new double [N];
  for (int i=0; i<N; i++) {
   System.out.print("Zahl nummer" + i + ":" );
   f[i] = sc.nextDouble();  
  }
  double minimum=f[0];
  for (int i=0;i<0; i++){
   if (f[i]<minimum) f[i]=minimum;
    else minimum=minimum;
  }
  System.out.println("Mini:" +minimum );
  double maximum=f[0];
  for (int i=0;i<0; i++){
   if (f[i]>maximum) f[i]=maximum;
    else maximum=maximum;
  }
  System.out.println("Maxi:" +maximum );
 }
}
 
 

Reply

Marsh Posté le 21-11-2007 à 08:55:38   

Reply

Marsh Posté le 21-11-2007 à 10:13:43    

petau2110 a écrit :

Bonjour,
Débutant sous Java je ne parviens pas à trouver mon erreur dans un petit programme que j'ai écrit; Le programme consiste à trouver le minimum d'une liste de nombres. A chaque fois que je l'éxecute, il me renvoie la même valeur minimale et la même valeur max : la valeur avec laquelle j'ai initialisé mes deux variables. Pouvez vous m'aider à trouver où est mon erreur?(je tourne en rond depuis depuis un bout de temps!)
Merci
 
import java.util.*;
public class Datenanalyse {
 public static void main (String [] args) {
 Locale.setDefault(Locale.US);
  Scanner sc = new Scanner (System.in) ;
  System.out.println("Geben Sie bitte ein Zahl ein" );
  int N;
  System.out.print("N = " );
  N = sc.nextInt();
  double [] f = new double [N];
  for (int i=0; i<N; i++) {
   System.out.print("Zahl nummer" + i + ":" );
   f[i] = sc.nextDouble();  
  }
  double minimum=f[0];
  for (int i=0;i<0; i++){
   if (f[i]<minimum) f[i]=minimum;
    else minimum=minimum;
  }
  System.out.println("Mini:" +minimum );
  double maximum=f[0];
  for (int i=0;i<0; i++){
   if (f[i]>maximum) f[i]=maximum;
    else maximum=maximum;
  }
  System.out.println("Maxi:" +maximum ); }
}
 
 


 
Ton erreur se trouve sur ces lignes
Ces lignes sont inutiles
 
 
 


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 21-11-2007 à 12:26:27    

Citation :

import java.util.*;
public class Datenanalyse {
 public static void main (String [] args) {
 Locale.setDefault(Locale.US);
  Scanner sc = new Scanner (System.in) ;
  System.out.println("Geben Sie bitte ein Zahl ein" );
  int N;
  System.out.print("N = " );
  N = sc.nextInt();
  double [] f = new double [N];
  for (int i=0; i<N; i++) {
   System.out.print("Zahl nummer" + i + ":" );
   f[i] = sc.nextDouble();  
  }
  double minimum=f[0];
  for (int i=0;i<0; i++){
   if (f[i]<minimum) f[i]=minimum;
    else minimum=minimum;
  }
  System.out.println("Mini:" +minimum );
  double maximum=f[0];
  for (int i=0;i<0; i++){
   if (f[i]>maximum) f[i]=maximum;
    else maximum=maximum;
  }
  System.out.println("Maxi:" +maximum );
 }
}


 
Moi je dirais plutot (ou aussi la les erreurs, tu ne parcours pas ton tableau la, non ?

Reply

Marsh Posté le 21-11-2007 à 13:06:02    

Merci pour vos reponses.
Pour la boucle "for" j'avais dejà corriger le i<0. Malheureusement, ça ne fonctionne toujours pas. J'ai regardé la ligne en bleu, je ne vois pas d'erreur de logique. J'ai regardé dans un bouquin pour la synthaxe mais je n'ai pas trouvé ce qui n'est pas correct!

Reply

Marsh Posté le 21-11-2007 à 13:39:54    

petau2110 a écrit :

Merci pour vos reponses.
Pour la boucle "for" j'avais dejà corriger le i<0. Malheureusement, ça ne fonctionne toujours pas. J'ai regardé la ligne en bleu, je ne vois pas d'erreur de logique. J'ai regardé dans un bouquin pour la synthaxe mais je n'ai pas trouvé ce qui n'est pas correct!


 
Fait le tourner à la main et tu verras qu'il y a une erreur de logique.
 
Effectivement j'ai raté le problème de la boucle for honte sur moi  :o  


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 21-11-2007 à 14:08:41    

Accessoirement, une seule boucle suffit.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 21-11-2007 à 14:27:14    

archangel a écrit :


 
Fait le tourner à la main et tu verras qu'il y a une erreur de logique.
 
Effectivement j'ai raté le problème de la boucle for honte sur moi  :o  


 
 
on alors tu n'as pas vu dans quel sens se fait une affectation.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 21-11-2007 à 14:27:20    

Citation :

import java.util.*;
public class Datenanalyse {
 public static void main (String [] args) {
 Locale.setDefault(Locale.US);
  Scanner sc = new Scanner (System.in) ;
  System.out.println("Geben Sie bitte ein Zahl ein" );
  int N;
  System.out.print("N = " );
  N = sc.nextInt();
  double [] f = new double [N];
  for (int i=0; i<N; i++) {
   System.out.print("Zahl nummer" + i + ":" );
   f[i] = sc.nextDouble();  
  }
  double minimum=f[0];
  for (int i=0;i<0; i++){
   if (f[i]<minimum) f[i]=minimum;
    else minimum=minimum;
  }
  System.out.println("Mini:" +minimum );
  double maximum=f[0];
  for (int i=0;i<0; i++){
   if (f[i]>maximum) f[i]=maximum;
    else maximum=maximum;
  }
  System.out.println("Maxi:" +maximum );
 }
}


 
Ah oui aussi c'est pas plutot minimum = f[i]; et pareil pour le maximum ?

Reply

Marsh Posté le 21-11-2007 à 14:32:40    

jbourdellon a écrit :

Ah oui aussi c'est pas plutot minimum = f[i]; et pareil pour le maximum ?


:spamafote:


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 21-11-2007 à 14:44:30    

Ah d'accord, vous m'avez bien éclairé. J'ai appris quelque chose de nouveau.
Merci à tous de m'avoir aider !

Reply

Marsh Posté le 21-11-2007 à 14:44:30   

Reply

Marsh Posté le 22-11-2007 à 11:18:36    

brisssou a écrit :


 
 
on alors tu n'as pas vu dans quel sens se fait une affectation.


 
C'est ce que je voulais dire  :o  


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 22-11-2007 à 11:27:52    

j'avais bien comprite, mais vu qu'il n'avait pas compris ça, même en faisant tourner à la main, il aurait eu le bon résultat.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed