import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class BatchProcessor {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<String[]> data = new ArrayList<>();
while (true) {
String line = scanner.nextLine();
if (line.trim().isEmpty()) {
break; // Exit on empty line
}
String[] values = line.split(","); // Split by comma
if (values.length < 2) {
System.out.println("Invalid input format. Skipping line: " + line);
continue; // Skip invalid lines
}
data.add(values);
}
// Manual override section
System.out.println("\nManual Override:");
System.out.println("Enter row index (0-based) to override values, or 'done':");
String overrideInput = scanner.nextLine();
if ("done".equalsIgnoreCase(overrideInput)) {
System.out.println("Processing data...");
processData(data);
} else {
try {
int index = Integer.parseInt(overrideInput);
if (index >= 0 && index < data.size()) {
System.out.println("Enter new values (comma-separated):");
String[] newValues = scanner.nextLine().split(",");
if (newValues.length == data.get(index).length) {
data.set(index, newValues);
System.out.println("Row " + index + " updated.");
} else {
System.out.println("Invalid number of values for override.");
}
} else {
System.out.println("Invalid row index.");
}
} catch (NumberFormatException e) {
System.out.println("Invalid input format. Please enter a number or 'done'.");
}
}
scanner.close();
}
private static void processData(List<String[]> data) {
for (String[] row : data) {
// Perform processing on each row
System.out.println("Processing: " + String.join(", ", row));
}
}
}
Add your comment