fix ArrayIndexOutOfBoundsException

This commit is contained in:
2026-02-25 22:02:46 +01:00
parent 4421075bec
commit f3e0da2689

View File

@ -1299,21 +1299,25 @@ public class MainWindowController {
} }
private static String createJobDescription(String pNames, String pQuantities) { private static String createJobDescription(String pNames, String pQuantities) {
String line = pQuantities; // Split the strings
int size = line.length() - line.replace(";", "").length() + 1; String[] namesArray = pNames.split(";");
String[] quantitiesArray = pQuantities.split(";");
String[] namesArray = new String[size]; // Use the minimum length to avoid index out of bounds
String[] quantitiesArray = new String[size]; int minLength = Math.min(namesArray.length, quantitiesArray.length);
namesArray = pNames.split(";"); if (minLength == 0) {
quantitiesArray = pQuantities.split(";"); return ""; // Handle empty input
String tmp = quantitiesArray[0] + "x " + namesArray[0];
for (int i = 1; i < namesArray.length; i++) {
tmp = tmp + ", " + quantitiesArray[i] + "x " + namesArray[i];
} }
return tmp;
// Build the description
StringBuilder tmp = new StringBuilder(quantitiesArray[0] + "x " + namesArray[0]);
for (int i = 1; i < minLength; i++) {
tmp.append(", ").append(quantitiesArray[i]).append("x ").append(namesArray[i]);
}
return tmp.toString();
} }
private void setJobPrizeLabel(float pPrize) { private void setJobPrizeLabel(float pPrize) {