Java ..conversion !
salyiohh
-
Utilisateur anonyme -
Utilisateur anonyme -
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);
}
}
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:
- Java ..conversion !
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
4 réponses
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
-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
merci dan
je crois que mes variables ont été declarées STATIC pour etre utilisable
dans toute ma class, vrai ou pas ??
je crois que mes variables ont été declarées STATIC pour etre utilisable
dans toute ma class, vrai ou pas ??
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
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
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
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