У меня есть этот код, который выводит максимальное значение каждой имеющейся у меня строки. Но у меня также возникают проблемы с распечаткой номера строки для каждого вывода. Я попытался использовать i, чтобы добавить 1 к каждой строке. Очевидно, это не сработает, просто хотел показать свою попытку. Без i код отлично работает для поиска максимального значения моей строки из текстового файла. Если есть другой способ изменить номер строки для каждого вывода, это будет очень полезно. Например,
Row 1: 5
Row 2: 67
row 3: 43
- это то, что я хочу. Все, что я смог получить, это:
Row 1: 5
Row 1: 67
row 1: 43
Мой java код
import java.util.Scanner;
public class maxValue {
public static void main(String[] args) throws Exception {
int i=0;i<3;i++;
String fileName="C:\\Users\\Michael\\Documents\\input.csv";
File f = new File(fileName);
Scanner fileScan= new Scanner(f);
while(fileScan.hasNext()) {
String line=fileScan.nextLine();
System.out.println("ROW " + i + ": " + (extractMaximum(line)));
}
fileScan.close();
}
static int extractMaximum(String str) {
int num = 0;
int res = 0;
// Start traversing the given string
for (int i = 0; i<str.length(); i++) {
// If a numeric value comes, start converting
// it into an integer till there are consecutive
// numeric digits
if (Character.isDigit(str.charAt(i)))
num = num * 10 + (str.charAt(i)-'0');
// Update maximum value
else {
res = Math.max(res, num);
// Reset the number
num = 0;
}
}
// Return maximum value
return Math.max(res, num);
}
}