Итак, я конвертирую CSV в массив. CSV имеет первый столбец, который состоит из заголовков и описания того, что находится в этом столбце. В моем случае: идентификатор продукта | название продукта | стоимость продукта | количество
Я пытаюсь go через массив найти строку item1
, а затем go до количества этого элемента, которое находится в той же строке, но в другом столбце.
Например:
ID продукта | название продукта | стоимость продукта | количество
----- 001 ----- | ----- item1 ----- | ----- 5,99 ----- | ----- 3 -----
----- 002 ----- | ----- пункт2 ----- | ----- 2.99 ----- | ----- 5 -----
Так что я хочу go этот массив, найти строку item1
в индексе строки 1, затем go в индексе столбца 3, чтобы извлечь количество в переменную. Затем я хочу сохранить в переменную, чтобы в итоге распечатать there are only 3 item1's left
или что-то в этом роде.
Вот что я получил до сих пор:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class test2 {
public static List<List<String>> csvToArray() {
String fileName = "c:\\temp\\test.csv";
File file = new File(fileName);
// this gives you a 2-dimensional array of strings
List<List<String>> lines = new ArrayList<>();
Scanner inputStream;
try {
inputStream = new Scanner(file);
while (inputStream.hasNext()) {
String line = inputStream.next();
String[] values = line.split(",");
// this adds the currently parsed line to the 2-dimensional string array
lines.add(Arrays.asList(values));
}
inputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return lines;
}
public static void printArray(List<List<String>> lines){
int lineNo = 1;
for (List<String> line : lines) {
int columnNo = 1;
for (String value : line) {
System.out.println("Line " + lineNo + " Column " + columnNo + ": " + value);
columnNo++;
}
lineNo++;
}
}
public static void main(String[] args) {
csvToArray();
printArray(csvToArray());
}
}
Как вы можете видеть, в метод printArray
Я просто распечатываю Массив, чтобы получить справку о том, где я нахожусь, но как только я пытаюсь добавить if
, я теряюсь.
Любая помощь будет отличной: )