Fonction Mid fonctionne pas
domxaline
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
fonction Mid marche pas
mon prg consiste que l'utilisateur entre une phrase et lui donne un rang de caractères à supprimer et à la fin prg s'affiche le phrase
mais en exécutant mon prg, j'ai ce messages suivantes; quelqu'un peut m'aider svp?
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method bla(int) is undefined for the type Divers3
at Divers3.main(Divers3.java:14)
EDIT: Précision du langage dans la coloration syntaxique.
fonction Mid marche pas
mon prg consiste que l'utilisateur entre une phrase et lui donne un rang de caractères à supprimer et à la fin prg s'affiche le phrase
mais en exécutant mon prg, j'ai ce messages suivantes; quelqu'un peut m'aider svp?
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method bla(int) is undefined for the type Divers3
at Divers3.main(Divers3.java:14)
import java.util.Scanner; public class Divers3 { public static void main(String[] args) { String bla; int nb,i,j; System.out.println("Entrez une phrase:"); Scanner sc = new Scanner(System.in); bla=sc.nextLine(); System.out.println("Entrez le rang du caractère à supprimer:"); nb=sc.nextInt(); int l=bla.length(); bla=Mid(bla,1,(nb-1) & Mid(bla(nb+1),(l-nb))); System.out.println("La nouvelle phrase est:"+bla); } }
EDIT: Précision du langage dans la coloration syntaxique.
A voir également:
- Java mid
- 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
6 réponses
Bonjour,
"en exécutant mon prg (...) compilation problem"
Avant d'exécuter un programme il faut le compiler !
Et pour utiliser des méthodes comme bla ou Mid, il faudrait qu'elles existent... or ici il n'y a que la méthode main !
Java n'est pas magicien, il ne va pas inventer ce qu'il ne connaît pas...
"en exécutant mon prg (...) compilation problem"
Avant d'exécuter un programme il faut le compiler !
Et pour utiliser des méthodes comme bla ou Mid, il faudrait qu'elles existent... or ici il n'y a que la méthode main !
Java n'est pas magicien, il ne va pas inventer ce qu'il ne connaît pas...
Mid est une fonction de java
qui fait:
Mid("Zorro is back", 4, 7) vaut "ro is b"
Mid("Zorro is back", 12, 1) vaut "c"
Len(chaîne) : renvoie le nombre de caractères d'une chaîne
Mid(chaîne,n1,n2) : renvoie un extrait de la chaîne,
commençant au caractère n1 et faisant n2 caractères de long.
qui fait:
Mid("Zorro is back", 4, 7) vaut "ro is b"
Mid("Zorro is back", 12, 1) vaut "c"
Len(chaîne) : renvoie le nombre de caractères d'une chaîne
Mid(chaîne,n1,n2) : renvoie un extrait de la chaîne,
commençant au caractère n1 et faisant n2 caractères de long.
j'ai corrigé ainsi suit
en l'exécutant je trouve ça :
Entrez une phrase:
je suis libre
Entrez le rang du caractère à supprimer:
3
La nouvelle phrase est:null
aidez moi svp
EDIT: Précision du langage dans la coloration syntaxique.
import java.util.Scanner; public class Testing4 { public static void main(String[] args) { String bla; int nb; System.out.println("Entrez une phrase:"); Scanner sc = new Scanner(System.in); bla=sc.nextLine(); System.out.println("Entrez le rang du caractère à supprimer:"); nb=sc.nextInt(); int La=bla.length(); bla=Mid(bla,1,(nb-1)); Mid(bla,(nb+1),(La-nb)); //& Mid(bla(nb+1),(l-nb))); System.out.println("La nouvelle phrase est:"+bla); } private static String Mid(String bla, int l, int nb) { // TODO Auto-generated method stub return null; } }
en l'exécutant je trouve ça :
Entrez une phrase:
je suis libre
Entrez le rang du caractère à supprimer:
3
La nouvelle phrase est:null
aidez moi svp
EDIT: Précision du langage dans la coloration syntaxique.
j'ai réussi à changer mon prg ainsi:
mais quelqu'un peut m'expliquer cette ligne quand même j'ai des confusions
System.out.println(bla.replace(bla.substring(bla.indexOf(nb),bla.indexOf(nb)+nb.length()),""));
et encore j'ai donné le String pour supprimer
comment faire dans le cas des nombres (int)
par exemple:
si l'utilisateur donne
caractère commence à partir de <chiffre> et jusqu'au <chiffre>
import java.util.Scanner;
public class Testing4
{
public static void main(String[] args)
{
String bla;
System.out.println("Entrez une phrase:");
Scanner sc = new Scanner(System.in);
bla=sc.nextLine();
System.out.println("Entrez le rang du caractère à supprimer:");
String nb=sc.nextLine();
System.out.println(bla.replace(bla.substring(bla.indexOf(nb),bla.indexOf(nb)+nb.length()),""));
}
}
mais quelqu'un peut m'expliquer cette ligne quand même j'ai des confusions
System.out.println(bla.replace(bla.substring(bla.indexOf(nb),bla.indexOf(nb)+nb.length()),""));
et encore j'ai donné le String pour supprimer
comment faire dans le cas des nombres (int)
par exemple:
si l'utilisateur donne
caractère commence à partir de <chiffre> et jusqu'au <chiffre>
Il suffit de regarder la javadoc :
bla.indexOf(nb) renvoie la première position à partir du début où l'on trouve nb dans bla.
nb.length() renvoie la longueur de nb.
Si c'est un nombre, il suffit de le convertir en string. (Integer.toString(int) ou String.valueOf(int)). Puis d'utiliser la méthode substring() du nouveau string.
bla.indexOf(nb) renvoie la première position à partir du début où l'on trouve nb dans bla.
nb.length() renvoie la longueur de nb.
Si c'est un nombre, il suffit de le convertir en string. (Integer.toString(int) ou String.valueOf(int)). Puis d'utiliser la méthode substring() du nouveau string.
Bonjour,
Attention à replace, cette méthode supprime toutes les occurrences de la chaîne trouvée.
Exemple :
Dans cet exemple on a supprimés tous les "3" de la chaîne de caractères...
De plus comme indiqué par fiddy, il faut que tu ais un nombre, mais mieux qu'une conversion tu peux directement faire
Et ensuite, plutôt que le replace qui ne fera pas ce qu'il faut, un découpage de la chaîne avant et après ce qui est à supprimer peut faire le job :
Attention à replace, cette méthode supprime toutes les occurrences de la chaîne trouvée.
Exemple :
Entrez une phrase:
123412341234
Entrez le rang du caractère à supprimer:
3
124124124
Dans cet exemple on a supprimés tous les "3" de la chaîne de caractères...
De plus comme indiqué par fiddy, il faut que tu ais un nombre, mais mieux qu'une conversion tu peux directement faire
int nb=sc.nextInt();
Et ensuite, plutôt que le replace qui ne fera pas ce qu'il faut, un découpage de la chaîne avant et après ce qui est à supprimer peut faire le job :
bla.substring(0,nb)+bla.substring(nb+1)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'avais fais ainsi merci pour vos aides:
import java.util.Scanner;
public class Divers3
{
public static void main(String[] args)
{
String bla;
System.out.println("Entrez une phrase:");
Scanner sc = new Scanner(System.in);
bla=sc.nextLine();
StringBuilder str = new StringBuilder(bla);
System.out.println("Entrez le position début du caractère à supprimer:");
int asup=sc.nextInt();
System.out.println("Entrez position fin du caractère à supprimer:");
int asup1=sc.nextInt();
str.replace(asup, asup1, "");
System.out.println("Apres avoir supprimé votre bla est: "+str);
}
}