Je crée un programme simple qui obtient 2 certaines chaînes sur une entrée d'un JTextArea. Il doit trouver une chaîne non-entière puis trouve un entier. Toutes les valeurs correspondant à la même chaîne non-entière ajouteront et afficheront le résultat dans un JTextField. Comme dans l'exemple ci-dessous, tous les nombres qui correspond à « hache » seront additionnés et le résultat final sera affiché dans le texfield sous l'étiquette « AX Box » (25 + 5 = 30)Java - Trouver une certaine chaîne dans JTextArea
Mon code suivant:
JTextField ax, bx, cx, dx;
int totalAX, totalBX, totalCX, totalDX;
String[] lines = textArea.getText().split("\\n"); // split lines
System.out.println(Arrays.toString(lines)); // convert each line to string
for (int i = 0; i < lines.length; i++) {
if (lines.contains("ax") {
// add each numbers.
// for example, 25 + 5
totalAX = totalAX + i;
ax.setText("Total: " +totalAX);
}
}
Mon problème est que le programme ne peut pas trouver la sous-chaîne « hache », « bx » et ainsi de suite. Quelle est la meilleure approche dans ce domaine? Je reçois des erreurs telles que:
Exception dans le thread "AWT-EventQueue-0" java.lang.NumberFormatException: Pour chaîne d'entrée: "hache"
Ce code ne doit pas être compilé à cause de cette ligne 'lines.contains (" ax ")'. La variable 'lines' est un tableau, elle n'a pas la méthode' contains'. – ahoxha
Vous calculez également 'totalAX' incorrectement. La façon dont vous le faites, il ne comptera que le nombre de lignes qui contiennent la chaîne '" ax "' (si vous aviez écrit 'lines [i] .contains (" ax ")' au lieu de 'lines.contains (" hache ")". – ahoxha