Saissi 0 pour arrêter prg

Fermé
domxaline - Modifié par domxaline le 1/06/2015 à 22:44
 domxaline - 2 juin 2015 à 13:04
Bonjour,
on ne connait pas d'avance combien l'utilisateur souhaite saisir de nombres. La saisie des nombres s'arrête lorsque l'utilisateur entre un zéro. je ne sais pas,où dois placer while
quelqu'un peut m'aider svp

import java.util.Scanner;
public class Testing3
{
public static void main(String[] args)
{
int PG=0; //PG veut plus grand
int PPG=0; //PPG veut dire position de plus grand
for(int i=1; i<=5; i++)
{
System.out.println("saissisez un no :");
Scanner valeur=new Scanner(System.in);
int N=valeur.nextInt();
while(N!=0)
{
if(i==1 || N>PG)
{
PG=N;
PPG=i;
}
break;
}
}
System.out.println("Le nombre le plus grand était: "+PG) ;
System.out.println("Il a été saisi en position numéro: "+PPG) ;
}
}

comme j'avais fait, s'arrête avec une seule ligne:
saissisez un no :
5

en utilisant break:
même en rentrant 0, il veut pas arrêter le prg

2 réponses

j'ai corrigé mon prg mais output n'est pas bon
parfois i faut que je saisis deux fois 0 pour que la saisis arrête quelqu'un a une idée

import java.util.Scanner;
public class Testing3
{
public static void main(String[] args)
{
int PG=0; //PG veut plus grand
int PPG=0; //PPG veut dire position de plus grand
//int counter =5;
for(int i=1; i<5; i++)
{
System.out.println("saissisez un no :");
Scanner valeur=new Scanner(System.in);
//int N=valeur.nextInt();
int N;
while ((N= valeur.nextInt()) != 0)
{
if(i==1 || N>PG)
{
PG=N;
PPG=i;
}
break;
}
}
System.out.println("Le nombre le plus grand était: "+PG) ;
System.out.println("Il a été saisi en position numéro: "+PPG) ;
}
}
0
il n'y a personne pour m'aider ?
0