У меня есть следующий фрагмент кода используется для расчета частоты сердечных сокращений от сигнала ЭКГ путем обнаружения QRS пиков:Отображение массив целых чисел не работает
public class Heart_Rate {
public static void main(String[] args) throws IOException{
// Read Text file
Path filePath = Paths.get("heartrate.txt");
Scanner scanner = new Scanner(filePath);
List<Double> rawData = new ArrayList<Double>();
while (scanner.hasNext()) {
if (scanner.hasNextDouble()) {
rawData.add(scanner.nextDouble());
} else {
scanner.next();
}
}
System.out.println(rawData);
//Find Max value for Threshold Level
Double maximum = Collections.max(rawData);
Double threshold = 0.7*maximum;
System.out.println("Maximum = " + maximum);
System.out.println("Threshold = " + threshold);
//Calculate Heart Rate from list "Raw Data"
int upflag = 0;
int last = 1;
int p = 0;
int t = 0;
int count = 0;
//List<Double> heartRate = new ArrayList<Double>();
int heartRate2[] = new int[50];
for (int i = 0; i < rawData.size(); i++) {
if (rawData.get(i)> threshold){
if (upflag == 0){
if (last > 0){
t = i - last;
p = 100*60/t;
//100 is the sampling rate
heartRate2[count] = p;
count = count + 1;
//heartRate.add(p);
}
last = i;
}
upflag = 50;
}
else {
if (upflag > 0){
upflag = upflag -1;
}
}
}
System.out.println("Count = " + count);
System.out.println("Heart Rate = " + heartRate2);
System.out.println("Heart Rate = " + heartRate2);
}
}
Когда я добавляю значения частоты пульса, вычисленные (р) к моему ArrayList (называемому HeartRate), я получил правильный массив значений. Однако я попытался изменить все мои значения на int и сохранить мои значения в массиве integer (так называемый heartRate2). Я получаю следующий результат: Частота сердечных сокращений = [I @ dd1e765 Мне нужны мои значения как целые числа, так как частота сердечных сокращений рассчитывается в битах в минуту. Я также попытался преобразовать двойные значения в int, но в итоге получил аналогичный результат, как указано выше.
"[I @ dd1e765" * - массив целых чисел. Параметр '[' указывает «массив», «I» указывает «целое число», а «dd1e765» - это значение хэша, присвоенное массиву. –