6 réponses
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
14 déc. 2015 à 18:14
14 déc. 2015 à 18:14
Bonjour,
Tu fais
Tu fais
bla.substring(cle,i);avec
char clealors que substring s'utilise avec deux int, tu dois faire la conversion.
vous voulez que je fasse comme ceci
code = bla.substring((char) cle,i);
non marche pas toujour la même erreur
code = bla.substring((char) cle,i);
non marche pas toujour la même erreur
faseldi
Messages postés
279
Date d'inscription
dimanche 9 novembre 2014
Statut
Membre
Dernière intervention
3 janvier 2017
20
15 déc. 2015 à 00:30
15 déc. 2015 à 00:30
Bonsoir, la méthode a ce profil : substring(int debut, int fin)
Tu ne peux donc pas l'utiliser avec un char, je ne vois pas ce que tu veux faire avec la méthode substring, mais il va sûrement te falloir écrire une nouvelle méthode qui fait ce que tu souhaites.
Je vois plusieurs fautes, telles que l'utilisation de ' i ' dans la méthode substring, qui doit planter car (petite demo :
par exemple :
String chaine="bonjour";
String sous = chaine.substring(0,10); // et erreur, car la chaine contient moins de 10 lettres!
L'autre erreur que je vois est sur le code:
Tu fais code = .... dans une boucle
Je suppose que ce que tu souahites doit etre code+=...
Sinon il n'y a pas d'interet à mettre des valeurs à code dans une boucle, si c'est pour que la seule valeur utilisée par code soit la dernièere itération de la boucle
Autre (erreur), peut être ?
tu mets deux String, bla et code
à la fin tu dis bla=code;
Il y a peut d’intérêt ici de stocker deux fois la même valeur, pour faire un affichage
Tu ne peux donc pas l'utiliser avec un char, je ne vois pas ce que tu veux faire avec la méthode substring, mais il va sûrement te falloir écrire une nouvelle méthode qui fait ce que tu souhaites.
Je vois plusieurs fautes, telles que l'utilisation de ' i ' dans la méthode substring, qui doit planter car (petite demo :
par exemple :
String chaine="bonjour";
String sous = chaine.substring(0,10); // et erreur, car la chaine contient moins de 10 lettres!
L'autre erreur que je vois est sur le code:
Tu fais code = .... dans une boucle
Je suppose que ce que tu souahites doit etre code+=...
Sinon il n'y a pas d'interet à mettre des valeurs à code dans une boucle, si c'est pour que la seule valeur utilisée par code soit la dernièere itération de la boucle
Autre (erreur), peut être ?
tu mets deux String, bla et code
à la fin tu dis bla=code;
Il y a peut d’intérêt ici de stocker deux fois la même valeur, pour faire un affichage
merci pour vos aides
" je ne vois pas ce que tu veux faire avec la méthode substring, mais il va sûrement te falloir écrire une nouvelle méthode qui fait ce que tu souhaites."
voilà ce que je veux faire ceci:
mon cryptographie:consiste à opérer non avec un décalage systématique, mais par une substitution aléatoire. Pour cela, on utilise un alphabet-clé, dans lequel les lettres se succèdent de manière désordonnée, par exemple:
HYLUJPVREAKBNDOFSQZCWMGITX
C'est cette clé qui va servir ensuite à coder le message. Selon notre exemple,
Les A deviendront des H, les B des Y, les C des L etc.
veuillez m'expliquer avec plus détails, je ne comprend pas bien
oublions substring vous avez d'autres solution svp?
" je ne vois pas ce que tu veux faire avec la méthode substring, mais il va sûrement te falloir écrire une nouvelle méthode qui fait ce que tu souhaites."
voilà ce que je veux faire ceci:
mon cryptographie:consiste à opérer non avec un décalage systématique, mais par une substitution aléatoire. Pour cela, on utilise un alphabet-clé, dans lequel les lettres se succèdent de manière désordonnée, par exemple:
HYLUJPVREAKBNDOFSQZCWMGITX
C'est cette clé qui va servir ensuite à coder le message. Selon notre exemple,
Les A deviendront des H, les B des Y, les C des L etc.
veuillez m'expliquer avec plus détails, je ne comprend pas bien
oublions substring vous avez d'autres solution svp?
"L'autre erreur que je vois est sur le code:
Tu fais code = .... dans une boucle "
comme vous m'avez dit j'ai mis le code extérieur du boucle
j'ai erreur message suivante:
domini
Entrez l'alphabet clé:
ertfsyk
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at Testing5.main(Testing5.java:42)
Tu fais code = .... dans une boucle "
comme vous m'avez dit j'ai mis le code extérieur du boucle
j'ai erreur message suivante:
domini
Entrez l'alphabet clé:
ertfsyk
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at Testing5.main(Testing5.java:42)
for(i=1;i<bla.length();i++)
{
String let=bla.substring(i,+1);
boolean pos=alpha.contains(bla);
}
code = alpha.substring(cle,i);
bla=code;
System.out.println("La phrase codée est:"+bla);
System.out.println();
}
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci pour vos aides.
j'ai erreur message:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The type of the expression must be an array type but it resolved to char
at Testing5.main(Testing5.java:32)
j'ai erreur message:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The type of the expression must be an array type but it resolved to char
at Testing5.main(Testing5.java:32)
import java.util.Scanner;
public class Testing5
{
public static void main(String[] args)
{
char first[]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char second;
char tab[]=new char[second];
for(char i=0;i<second;i++)
{
System.out.println("Entrez votre clé:");
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
second=str.charAt(0);
}
System.out.println("Enter the name: ");
String n;
int len=n.length();
for(int i=0;i<len;i++)
{
for(int j=0;j<26;j++)
{
char c=n.charAt(i);
if(c==first[j])
{
int pos1=j;
System.out.print(second[pos1]);
}
}
}}}
faseldi
Messages postés
279
Date d'inscription
dimanche 9 novembre 2014
Statut
Membre
Dernière intervention
3 janvier 2017
20
15 déc. 2015 à 15:41
15 déc. 2015 à 15:41
ici ton second contient qu'un char, c'est donc pas un tableau, tu peux directement print second :p
maintenant, j'ai pb bizarre je n'arrive rien saissir
Enter the name:
apparait mais je ne peux pas saissir
Enter the name:
apparait mais je ne peux pas saissir
import java.util.Scanner;
public class Testing5
{
public static void main(String[] args)
{
char first[]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
//System.out.println("Entrez la clé");
char second = 0;
char tab[]=new char[second];
//int second;
for(char i=0;i<second;i++)
{
System.out.println("Entrez votre clé:");
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
second=str.charAt(0);
}
//char second[]={'h','y','l','u','j','p','v','r','e','a','k','b','n','d','o','f','s','q','z','c','w','m','g','i','t','x'};
//Scanner sc = new Scanner(System.in);
System.out.println("Enter the name: ");
// String n="";
String n="";
int len=n.length();
for(int i=0;i<len;i++)
{
for(int j=0;j<26;j++)
{
char c=n.charAt(i);
if(c==first[j])
{
int pos1=j;
//System.out.print(second[pos1]);
System.out.print(second);
}
}
}}}