Utiliser une procedure en java
harizon007
Messages postés
21
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
bonjour, j'ai le problème suivant, pour l'appelle de procedure(methode) en java
mon objectif est de récupérer les champs de la methode saisieValeur, pour les éxploiter dans le menu principal.
moi je veut récupérer les champs: soldecourrant, versement, achats de la méthode saisievaleur, pour les exploiter dans d'autre fonction dans le programme principale,
mais j'ai l'érreur: il faut initialiser les champs dans la méthode principale,et ça il récupére pâs les valeurs que j'ai passé dans la méthode Saisievaleur.
voila le code, merci pour votre réponse:
import java.text.DecimalFormat;
import java.util.Scanner;
public class TextReleve {
public static void main (String args[]){
Scanner readln= new Scanner(System.in);
double soldecourrant,soldeprecedent,versement,achats, nouveausolde;
double interet,min;
//appelle a la fonction saisieValeur
saisieValeur(soldecourrant,soldeprecedent,versement,achats,readln);
//appelle a la fonction intérêt
interet=calculInteret(soldecourrant,readln);
//les charge que le client devra payer
nouveausolde=soldecourrant+achats;
//appelle a la fonction minimum pour le calcul du minimum exigé
min=minimum(nouveausolde,readln);
//affichage du resultat
affichageresultat( soldeprecedent,versement, soldecourrant,interet,nouveausolde,min, readln );
}
private static saisieValeur ( double soldecour,double soldprec, double versem,double achat, Scanner readln){
double soldecourrant,soldeprecedent,achats, versement;
String temp;
//demande au client de rentrer le solde précedent
System.out.println ("\nveuillez tapez votre solde precedent:");
soldeprecedent=readln.nextDouble();
while(soldeprecedent<0){
temp = readln.nextLine();
System.out.print("S.V.P, taper une valeur sup à 0 : ");
soldeprecedent=readln.nextDouble();
}
//le versement du client
System.out.println ("\nveuillez tapez votre versement:");
versement=readln.nextDouble();
while(versement<0){
temp=readln.nextLine();
System.out.print("S.V.P, taper une valeur supérieur à 0:");
versement=readln.nextDouble();
}
//les achat du client;
System.out.println ("\nveuillez tapez vos achats:");
achats=readln.nextDouble();
while(achat<0){
temp=readln.nextLine();
System.out.print("S.V.P, taper une valeur supérieur à 0:");
achats=readln.nextDouble();
}
soldecourrant=soldeprecedent-versement;
//return soldecourrant;
}
}
bonjour, j'ai le problème suivant, pour l'appelle de procedure(methode) en java
mon objectif est de récupérer les champs de la methode saisieValeur, pour les éxploiter dans le menu principal.
moi je veut récupérer les champs: soldecourrant, versement, achats de la méthode saisievaleur, pour les exploiter dans d'autre fonction dans le programme principale,
mais j'ai l'érreur: il faut initialiser les champs dans la méthode principale,et ça il récupére pâs les valeurs que j'ai passé dans la méthode Saisievaleur.
voila le code, merci pour votre réponse:
import java.text.DecimalFormat;
import java.util.Scanner;
public class TextReleve {
public static void main (String args[]){
Scanner readln= new Scanner(System.in);
double soldecourrant,soldeprecedent,versement,achats, nouveausolde;
double interet,min;
//appelle a la fonction saisieValeur
saisieValeur(soldecourrant,soldeprecedent,versement,achats,readln);
//appelle a la fonction intérêt
interet=calculInteret(soldecourrant,readln);
//les charge que le client devra payer
nouveausolde=soldecourrant+achats;
//appelle a la fonction minimum pour le calcul du minimum exigé
min=minimum(nouveausolde,readln);
//affichage du resultat
affichageresultat( soldeprecedent,versement, soldecourrant,interet,nouveausolde,min, readln );
}
private static saisieValeur ( double soldecour,double soldprec, double versem,double achat, Scanner readln){
double soldecourrant,soldeprecedent,achats, versement;
String temp;
//demande au client de rentrer le solde précedent
System.out.println ("\nveuillez tapez votre solde precedent:");
soldeprecedent=readln.nextDouble();
while(soldeprecedent<0){
temp = readln.nextLine();
System.out.print("S.V.P, taper une valeur sup à 0 : ");
soldeprecedent=readln.nextDouble();
}
//le versement du client
System.out.println ("\nveuillez tapez votre versement:");
versement=readln.nextDouble();
while(versement<0){
temp=readln.nextLine();
System.out.print("S.V.P, taper une valeur supérieur à 0:");
versement=readln.nextDouble();
}
//les achat du client;
System.out.println ("\nveuillez tapez vos achats:");
achats=readln.nextDouble();
while(achat<0){
temp=readln.nextLine();
System.out.print("S.V.P, taper une valeur supérieur à 0:");
achats=readln.nextDouble();
}
soldecourrant=soldeprecedent-versement;
//return soldecourrant;
}
}
A voir également:
- Java procedure
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
1 réponse
Salut,
Je te conseille de déclarer tes valeurs en variables de classe comme ceci:
car elles doivent être visibles dans toutes les méthodes
Il faudra bien entendu ne plus les déclarer ailleurs.
Tu dois également mettre saisieValeur en void:
Cordialement,
Dan
Je te conseille de déclarer tes valeurs en variables de classe comme ceci:
public class TextReleve
{
private static double soldecourrant,soldeprecedent,versement,achats, nouveausolde; // <<<<<<<<<<
// ainsi que Scanner:
private static Scanner readln= new Scanner(System.in);
// et donc ne pas passer readln en paramètre
public static void main (String args[])
.............
............
car elles doivent être visibles dans toutes les méthodes
Il faudra bien entendu ne plus les déclarer ailleurs.
Tu dois également mettre saisieValeur en void:
private static void saisieValeur( double soldecour,double soldprec, double versem,double achat) {
Cordialement,
Dan