4 Réponses :
Vous n'êtes pas obligé de faire un tel compliqué pour code> boucle. Il y a Split code> Méthode: String[] grades = x.split(",");
Pouvez-vous écrire le code avec la scission parce que cela ne fonctionne toujours pas pour moi
@Lielkont C'est tout le code dont vous avez besoin pour obtenir une matrice avec des notes. Ensuite, vous pouvez l'imprimer dans A pour boucle comme pour (cordes g: grades) {system.out.println (g);} code> Remarque: vous ne pouvez pas avoir 2 variable avec le même nom. Donc renommer le tableau ou la variable que vous obtenez gettext code> de
Merci beaucoup!
Si vous vous demandez pourquoi votre code fonctionne mal,
Chaque itération après réduction x code>, vous devez regarder le début du x code> qui est 0 mais votre je ne viendrai pas à 0 code> à nouveau, vous devez donc le forcer, P> String x = grades.getText();
String [] grades = new String [100];
for (int i = 0; i < x.length() ;i++) {
if (x.charAt(i) == ',') {
grades[i] = x.substring(0, i);
x = x.substring(i + 1, x.length());
System.out.println(grades[i]);
i = 0;
}
}
System.out.println(x); //last x will your last element
Essayez ce code, basé sur la réponse de Ruslan.
String x = grades.getText();
String[] gradesArray = x.split(",");
for (int i=0; i < gradesArray.length; i++) {
System.out.println(gradesArray[i]);
}
Chaîne x = classes1.getText (); Ça me montre une erreur dans cette ligne, il a dit "ne peut pas trouver de symboles"
Chaîne x = classes1.getText (); Ça me montre une erreur dans cette ligne, il a dit "ne peut pas trouver de symboles"
D'où vient les cours1? Votre code d'origine utilisé des notes. Si le code d'origine compilait, ma réponse doit fonctionner correctement.
Maintenant, cela fonctionne mais dans la sortie qu'il imprime: 3 (ligne vers le bas) 5,6 (avec le 7)
Si grades.getText () met "3,5,6,7" dans la chaîne x, il imprimera ensuite chaque numéro sur une ligne séparée. Veuillez vérifier votre code à nouveau, donc c'est exactement comme la réponse.
Merci beaucoup!
Bonjour, j'ai une autre question, avez-vous une idée de pourquoi ce code ne fonctionne pas?
String y = classes.gettext (); int z = 0; Chaîne [] classesarray = nouvelle chaîne [z]; ClassesArray [z] = y; z ++; grades.SetText (""); classes.setText ("");
Vous initialisez la chaîne [] classesparray avec Z pour la longueur, qui est 0. Il en résulte une matrice sans endroit pour mettre votre texte dans.: - / L'index du tableau est basé sur 0, mais l'initialisation de la matrice doit être au moins 1 Si vous voulez stocker quelque chose dedans.
Voici ce que votre code devrait ressembler, afin de l'imprimer comme vous le demandez.
String x = grades.getText();
String [] grades = x.split(",");
for(String grade : grades){
System.out.println(grade);
}
Cela fonctionne mais dans la sortie IT imprime: 3 (ligne vers le bas) 5,6 (sans le 7)
@Lielkont Si vous ne voulez pas une nouvelle ligne, vous devez supprimer la partie "ln" de println. Vs: system.out.print (grade);
@Lielkont Si la dernière année de votre texte n'est pas une impression, je jetterais un coup d'œil à votre fonction: getText () dans les grades. Cela pourrait ne pas renvoyer la chaîne correcte.
Avez-vous deux variables appelées
notes code> dans votre code? Cela ne fonctionnera pas. Nous pouvons vous aider au mieux avec une sortie incorrecte si vous postez un code compilable et exécutable afin que nous puissions reproduire votre comportement problématique.Dupliqué possible de Comment Split String to Array (Java) - Réf. to Stackoverflow.com/a/49712383/4892907