Java ..conversion !

Fermé
salyiohh - 29 oct. 2010 à 00:42
 Utilisateur anonyme - 30 oct. 2010 à 09:47
salut, je suis debutant en programation, et j ai une petite question a propos de la conversion , dans mes deux exemples pourquoi dans le premier EXmpl on a convertit
la variable String s_prix et s_qte l une en Int et l autre en Double , et dans le deuxieme EXmp on a laisser la variable AGE en string alors qu elle portra une donnee en chiffre ????
merci.

premiere exemple=
import java.io.*;

public class Count{

static double prix,tva,mht,mtva,ttc;
static int qte;
static String s_prix,s_qte;

static BufferedReader in;
public static void main(String arg[]) throws Exception{

tva=0.2;

in=new BufferedReader(new InputStreamReader(System.in));

System.out.println("entrer un prix");
s_prix=in.readLine();
System.out.println("entrer une qte");
s_qte=in.readLine();

prix=Double.parseDouble(s_prix);
qte=Integer.parseInt(s_qte);

mht=prix*qte;
mtva=tva*mht;
ttc=mht+mtva;
System.out.println("mht="+mht);
System.out.println("mtva="+mtva);
System.out.println("ttc="+ttc);
}
}

deuxieme exemple=
import java.io.*;

public class Ad{
static String nom,prenom,age;

public static void main(String args[]) throws Exception{

BufferedReader in=new BufferedReader(new InputStreamReader(System.in));

System.out.println("entrer votre nom ");
nom=in.readLine();

System.out.println("entrer votre age");
age=in.readLine();

System.out.println("entrer votre prenom");
prenom=in.readLine();


System.out.println("bonjour mr "+nom+" "+prenom+" vous avez "+age);
}
}
A voir également:

4 réponses

Utilisateur anonyme
29 oct. 2010 à 07:13
Salut,

-static double prix,tva,mht,mtva,ttc; :
Le prix, le taux de tva, le montant hors taxe, le montant tva et le montant ttc sont toutes des valeurs avec décimales dites de type réel.
Elles doivent donc être soit de type double, soit de type float (double dans cet exo).

-static String s_prix et s_qte:
Pourquoi sont-elles de type String?
Tout simplement parcequ'elles sont saisies au clavier en utilisant BufferedReader et readLine() permettant d'entrer une chaîne de caractères.
On doit donc les convertir en valeurs numériques, la quantité en int, donc un entier, car on a estimé qu'il n'etait pas nécéssaire d'avoir des décimales et le prix en double car un prix est pratiquement toujours avec des décimales.

Attention ! ces deux valeurs ne doivent contenir que du numérique plus le point décimale (ou la virgule) pour le prix. Penser qu'il peut y avoir levée d'une exception.

-L'âge:
On ne fait pas de calculs avec l'âge qui n'est utilisé que dans println, il peut donc rester en String...

Remarque:

Je suppose que tu sais pourquoi ces données sont toutes déclarées static...

Cordialement,

Dan
0
merci dan
je crois que mes variables ont été declarées STATIC pour etre utilisable
dans toute ma class, vrai ou pas ??
0
choubaka Messages postés 39409 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 24 décembre 2024 2 104
30 oct. 2010 à 08:52
Salut

Les méthodes et les attributs "static" permettent un appel sans devoir faire créer une instance d'une classe.

Pour les attributs, par exemple, les conventions sont que, lorsqu'ils sont static, ils doivent être écrits en majuscule.

Color.WHITE est un appel de l'attribut static de la classe Color
0
Utilisateur anonyme
30 oct. 2010 à 09:43
Désolé mais non:

Elles sont visibles de toute la classe (dans chacun des 2 exemples) parceque déclarées au niveau de la classe. Ce sont des variables de classe.

Mais comme il n'y a qu'une méthode, la méthode main(....), ce n'était pas obligatoire, elle pouvaient l'être dans cette méthode main.

Elles sont donc déclarées "static" parceque justement utilisées par une méthode "static". Et si tu ajoutais une (ou plusieurs) autres méthodes non "static" pour les utiliser, le compilateur signalerait que ce n'est pas possible et tu devrais déclarer cette (ou ces) méthode(s) "static"...

Dan
0
Utilisateur anonyme
30 oct. 2010 à 09:47
Cette réponse est faite à salyiohh !!!
0