Я часто борюсь с нестатическими ошибками переменных. Не уверен, что я правильно понял цель, когда использовать статическое и нет. У меня есть код ниже, где я пытаюсь проанализировать CSV-файл с тремя столбцами (дата, время, температура) в класс, который я определил сам.
Этот бит дает мне ошибку нестатической переменной.
TempData objt = new TempData();
Если кто-нибудь знает, что я делаю неправильно, я буду очень благодарен. Я пробовал Google, но не могу найти что-нибудь подходящее.
package com.company;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.*;
import java.text.SimpleDateFormat;
import java.sql.Timestamp;
public class Main {
public static void main(String[] args) {
Date tempDate;
Date tempTime;
Double tempTemperature;
ArrayList<TempData> data = new ArrayList<TempData>();
TempData objt = new TempData();
//Get scanner instance
Scanner scanner = new Scanner(new File("smhi-opendata.csv"));
//Set the delimiter used in file
scanner.useDelimiter(";");
//Get all tokens and store them in some data structure
while (scanner.hasNext())
{
tempDate = new SimpleDateFormat("dd/MM/yyyy").parse(scanner.next());
tempTime = new SimpleDateFormat("hh:mm:ss").parse(scanner.next());
tempTemperature = Double.parseDouble(scanner.next());
objt.Data(tempDate, tempTime, tempTemperature);
data.add(objt);
}
//Do not forget to close the scanner
scanner.close();
}
public class TempData{
private Date date;
private Date time;
private double temperature;
public void Data (Date d, Date t, double te){
date = d;
time = t;
temperature = te;
}
}
}