JAVA
amine08
Messages postés
7
Statut
Membre
-
Bercolly -
Bercolly -
Bonjour,
je viens de passer un exam et javais des doutes sur mon code je voulais savoir si il est bon ou pas
en faite l'ennoncé demande de rajouter le mot "AV" a chaque fois il rencontre une voyelle voici mon code
public class Partiel {
public String ChaineAtraduire="java";
public String ChaineArajouter="av";
public String ChaineVoyelles="aeiouy";
public String ChaineConsonnes="bcdfghljklmnpqrs....";
public boolean Voyelle(){
boolean ok=false;
String c=null;
for (int i=0;i<ChaineVoyelles.length();i++)
{
if (c.equals(ChaineVoyelles.charAt(i)))
{
ok = true;
}
}
return ok;
}
public boolean Consonne(){
boolean ok=false;
String c=null;
for (int i=0;i<ChaineConsonnes.length();i++)
{
if (c.equals(ChaineConsonnes.charAt(i)))
{
ok = true;
}
}
return ok;
}
public String Traduire(String c){
for(int k=0;k<ChaineAtraduire.length();k++)
{
if (Voyelle())
ChaineAtraduire =ChaineAtraduire.concat(ChaineArajouter);
}
return ChaineAtraduire;
}
}
Merci de me repondre dans le plus tot possible
je viens de passer un exam et javais des doutes sur mon code je voulais savoir si il est bon ou pas
en faite l'ennoncé demande de rajouter le mot "AV" a chaque fois il rencontre une voyelle voici mon code
public class Partiel {
public String ChaineAtraduire="java";
public String ChaineArajouter="av";
public String ChaineVoyelles="aeiouy";
public String ChaineConsonnes="bcdfghljklmnpqrs....";
public boolean Voyelle(){
boolean ok=false;
String c=null;
for (int i=0;i<ChaineVoyelles.length();i++)
{
if (c.equals(ChaineVoyelles.charAt(i)))
{
ok = true;
}
}
return ok;
}
public boolean Consonne(){
boolean ok=false;
String c=null;
for (int i=0;i<ChaineConsonnes.length();i++)
{
if (c.equals(ChaineConsonnes.charAt(i)))
{
ok = true;
}
}
return ok;
}
public String Traduire(String c){
for(int k=0;k<ChaineAtraduire.length();k++)
{
if (Voyelle())
ChaineAtraduire =ChaineAtraduire.concat(ChaineArajouter);
}
return ChaineAtraduire;
}
}
Merci de me repondre dans le plus tot possible
A voir également:
- JAVA
- 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
- Java apk - Télécharger - Langages
- Eclipse java - Télécharger - Langages
1 réponse
/*
* Avec Java, dès que l'on fait des opérations sur des chaines on utilise le fameux package regexp !
* Si tu n'as pas vu cela en cours, c'est dommage.
*
* Voila en quelques lignes de code la solution à ton exam en utilisant une regexp!
*
*
* A+ bon courage
*/
package test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args){
Pattern p = Pattern.compile("[aeiouy]");
String s = "java je t'adore";
Matcher m = p.matcher(s);
s = m.replaceAll("AV");
System.out.println(s);
}
}
* Avec Java, dès que l'on fait des opérations sur des chaines on utilise le fameux package regexp !
* Si tu n'as pas vu cela en cours, c'est dommage.
*
* Voila en quelques lignes de code la solution à ton exam en utilisant une regexp!
*
*
* A+ bon courage
*/
package test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args){
Pattern p = Pattern.compile("[aeiouy]");
String s = "java je t'adore";
Matcher m = p.matcher(s);
s = m.replaceAll("AV");
System.out.println(s);
}
}
merci pour ta reponse, mais le probleme c'est que l'ennocé m'exige a faire les trois methodes
voyelles()
consonne()
traduire(String)
Donc revenons à ton code il ne marche pas parce que :
tu initialises
dans ta méthode
public boolean Voyelle(){
boolean ok=false;
String c=null;
for (int i=0;i<ChaineVoyelles.length();i++)
{
if (c.equals(ChaineVoyelles.charAt(i)))
{
ok = true;
}
}
la variable c est à null -> NullPointer Exception
De plus tu ne peux pas comparer un string et un char ,
et il t emanque un paramètre
Les deux méthodes voyelle consonnes pourraient être ainsi :
public boolean Voyelle(char c) {
return ChaineVoyelles.indexOf(c) == -1 ? false : true;
}
public boolean Consonne(char c) {
return !Voyelle(c);
}
Pour la méthode traduire, ton code boucle car tu modifies la variable en même temps que tu examnies chaque caractère ...
La méthode pourrait être ainsi :
public String Traduire(String chaineATraduire) {
String resu = "";
for (int k = 0; k < chaineATraduire.length(); k++) {
if (Voyelle(chaineATraduire.charAt(k))) {
resu = resu.concat("av");
}
else
resu += chaineATraduire.charAt(k);
}
return resu;
}
Au final le programme est le suivant :
package test;
public class Partiel {
public String voyelles = "aeiouy";
//public String consonnes = "bcdfghljklmnpqrs...."; inutile ?
public static void main(String[] args) {
Partiel p = new Partiel();
p.Traduire("java je t'adore ...");
}
public boolean isVoyelle(char c) {
return voyelles.indexOf(c) == -1 ? false : true;
}
public boolean isConsonne(char c) {
return !isVoyelle(c);
}
public String Traduire(String chaineATraduire) {
String resu = "";
for (int k = 0; k < chaineATraduire.length(); k++) {
if (isVoyelle(chaineATraduire.charAt(k))) {
resu = resu.concat("av");
} else {
resu += chaineATraduire.charAt(k);
}
}
// retourner le résultat ...
return resu;
}
}