[Java J2SE] debutant , probleme switch case
Fermé
Christophe_06
Messages postés
1
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
6 février 2007
-
6 févr. 2007 à 15:04
ray - 12 févr. 2007 à 09:59
ray - 12 févr. 2007 à 09:59
A voir également:
- [Java J2SE] debutant , probleme switch case
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
2 réponses
Utilisateur anonyme
10 févr. 2007 à 19:07
10 févr. 2007 à 19:07
Salut!
Tu trouveras ci-dessous un petit exemple de 'switch' avec une lecture de caractères au clavier.
Pour plus d'infos sur les caractères, je te conseille de jeter un oeil dans la classe java.lang.Character
;-)
HackTrack
Tu trouveras ci-dessous un petit exemple de 'switch' avec une lecture de caractères au clavier.
Pour plus d'infos sur les caractères, je te conseille de jeter un oeil dans la classe java.lang.Character
import java.io.IOException; /** * Created on 10-févr.-07 * * @author: HackTrack (philippe.fery@gmail.com) */ public class SwitchDemo { public static final char[] VOYELLES = { 'a', 'e', 'i', 'o', 'u', 'y' }; public static final char[] CONSONNES = { 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'z' }; public static final char QUIT_CHARACTER = '&'; private static final int TYPE_VOYELLE = 1; private static final int TYPE_CONSONNE = 2; private static final int AUTRE_TYPE = 3; private boolean isRunning; public SwitchDemo() { super(); } public int getSymbolType(char c) { for (int i = 0; i < VOYELLES.length; i++) { if (c == VOYELLES[i]) return TYPE_VOYELLE; } for (int i = 0; i < CONSONNES.length; i++) { if (c == CONSONNES[i]) return TYPE_CONSONNE; } return AUTRE_TYPE; } public void startListeningKeyboard() throws IOException { isRunning = true; System.out.println("Appuyer sur '"+QUIT_CHARACTER+"' pour quitter"); while (isRunning) { char c = (char) System.in.read(); if (Character.getType(c) != 15) {//Le caractère de retour à la ligne est ignoré switch (getSymbolType(c)) { case TYPE_VOYELLE: System.out.println("Le caractère '" + c + "' est une voyelle"); break; case TYPE_CONSONNE: System.out.println("Le caractère '" + c + "' est une consonne"); break; case AUTRE_TYPE: System.out.println("Le caractère '" + c + "' n'est ni une voyelle ni une consonne"); if (c == QUIT_CHARACTER) isRunning = false;// condition d'arrêt de la boucle break; } } } } public static void main(String[] args) { SwitchDemo demo = new SwitchDemo(); try { demo.startListeningKeyboard(); } catch (IOException e) { System.out.println("Une erreur est survenue lors de la lecture clavier"); } System.out.println("Lecture clavier terminée"); } }
;-)
HackTrack
Salut si tu es debutant en java les codes que tu as recu devrait etre trop compliqués pour toi voici un exemple plus simple:
soit tu utilises le case soit un if suffira...
import java.io.*;
public class LectureVoyelles{
public BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
protected String s=null;
public char readChar(String expression) throws IOException{
System.out.print(expression);
s=in.readLine();
if(s.length()==1){
System.out.println();
return s.charAt(0);
}
else return readChar(expression);
}
public void voyelles() throws IOException{
char c=readChar("tapez un caractere : ");
switch(c){
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'y':System.out.println("vous avez entre une voyelle :"+c);
break;
default:System.out.println("Vous avez entre un comsonne :"+c);
break;
}
/*if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u'||c=='y'){
System.out.println("vous avez entre une voyelle :"+c);
return;
}
else{
System.out.println("Vous avez entre un comsonne :"+c);
return;
}*/
return;
}
public static void main(String args[])throws IOException{
LectureVoyelles lv=new LectureVoyelles();
lv.voyelles();
return;
}
}
donc il te suufit seulement d'écrire une methodes readChar qui te lit un string à l'écran et le transforme en caractere mais pour que cela marche il faut imposer la longeure de du stringà 1 sinon il va prendre "av" pour une voyelle... compile le et tiens moi au courant.
I am the god father.
soit tu utilises le case soit un if suffira...
import java.io.*;
public class LectureVoyelles{
public BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
protected String s=null;
public char readChar(String expression) throws IOException{
System.out.print(expression);
s=in.readLine();
if(s.length()==1){
System.out.println();
return s.charAt(0);
}
else return readChar(expression);
}
public void voyelles() throws IOException{
char c=readChar("tapez un caractere : ");
switch(c){
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'y':System.out.println("vous avez entre une voyelle :"+c);
break;
default:System.out.println("Vous avez entre un comsonne :"+c);
break;
}
/*if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u'||c=='y'){
System.out.println("vous avez entre une voyelle :"+c);
return;
}
else{
System.out.println("Vous avez entre un comsonne :"+c);
return;
}*/
return;
}
public static void main(String args[])throws IOException{
LectureVoyelles lv=new LectureVoyelles();
lv.voyelles();
return;
}
}
donc il te suufit seulement d'écrire une methodes readChar qui te lit un string à l'écran et le transforme en caractere mais pour que cela marche il faut imposer la longeure de du stringà 1 sinon il va prendre "av" pour une voyelle... compile le et tiens moi au courant.
I am the god father.