Fonction Mid fonctionne pas
Fermé
domxaline
-
Modifié par Whismeril le 22/07/2015 à 22:52
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 25 juil. 2015 à 21:50
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 25 juil. 2015 à 21:50
A voir également:
- Java mid
- 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
- Java décompiler - Télécharger - Langages
- Jeux java itel touche - Forum Mobile
6 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
22 juil. 2015 à 20:15
22 juil. 2015 à 20:15
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.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
25 juil. 2015 à 13:37
25 juil. 2015 à 13:37
Non, Mid n'est pas une fonction de Java. Pas plus que ne l'est Len. Tu dois confondre avec le VB...
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.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
22 juil. 2015 à 22:51
22 juil. 2015 à 22:51
"La nouvelle phrase est:null "
C'est ce que tu lui as demandé avec return null;
C'est ce que tu lui as demandé avec return null;
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>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
Modifié par fiddy le 25/07/2015 à 13:44
Modifié par fiddy le 25/07/2015 à 13:44
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.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
Modifié par KX le 25/07/2015 à 14:49
Modifié par KX le 25/07/2015 à 14:49
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);
}
}
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
25 juil. 2015 à 21:50
25 juil. 2015 à 21:50
Ouais, bah cherche encore... ou relis les réponses que l'on t'a déjà donné !