Я выполняю задание, в котором мы должны создать список температур (double) и days (String) и реализовать список, используя массив объектов. Каждый объект хранит темп и день, и мы можем назначить темп и день в нашей программе. затем выполните сортировку с вставкой alogrithm и выведите исходный список и отсортированный список.Реализовать список, используя массив объектов
Я разместил задания температуры и дня под конструктором dailyTemperature и скомпилировал его. Моя последняя часть - цикл for и if, я утверждаю, что если getTemp больше 0, добавьте в getTemperature ArrayList, но я думаю, что это неправильно, потому что getTemp не имеет назначенных ему температур. Должен ли я назначать дни и температуры отдельно в ежедневной температуре? Затем вызовите переменную, которую я присваиваю значениям температуры в выражении if?
Вот мой код:
import java.util.ArrayList;
public class dailyTemperature
{
//variables
private double temperature;
private String day;
private static ArrayList<dailyTemperature> temp = new ArrayList<dailyTemperature>();
//getTemp & setTemp methods
public double getTemp()
{
return temperature;
}
public void setTemp(double newTemp)
{
temperature = newTemp;
}
//getDay & setTEmp methods
public String getDay()
{
return day;
}
public void setDay(String newDay)
{
day = newDay;
}
public dailyTemperature(String dayInput, double temperatureInput) {
this.day = day;
this.temperature = temperature;
temp.add(this);
this.day = dayInput;
this.temperature = temperatureInput;
dailyTemperature[] getTemperature = new dailyTemperature[5];
getTemperature[0] = new dailyTemperature("Mon", 70.0);
getTemperature[1] = new dailyTemperature("Tue", 80.0);
getTemperature[2] = new dailyTemperature("Wed", 65.2);
getTemperature[3] = new dailyTemperature("Thur", 67.0);
getTemperature[4] = new dailyTemperature("Fri", 68.5);
}
public static ArrayList<dailyTemperature> getTemperature()
{
ArrayList<dailyTemperature> getTemperature = new ArrayList<dailyTemperature>();
for(dailyTemperature i : temp)
{
if(i.getTemp() > 0)
getTemperature.add(i);
}
return getTemperature;
}
}
Незначительный nitpick: функции в java начинаются с строчной буквы; однако конструктор соответствует имени класса, и поэтому (по соглашению) начинается с буквы верхнего регистра. Как и имя класса, поэтому он 'DailyTemperature' не' daily .... ' – Johan
@Johan Спасибо, я просто изменил их. –
Ваш вопрос непонятен - «Должен ли я назначать дни и температуры отдельно в ежедневной температуре?» - не уверен, что вы имеете в виду по отдельности. Вы уже назначили каждое значение дважды в конструкторе, а также создавали и заполняли массив в конструкторе. Я * думаю * первые три строки вашего конструктора - все, что нужно, просто закончите это после. Заполните массив каким-либо другим методом. И да, температура может быть отрицательной, поэтому я бы взял это. Если в коде есть что-то, что не работает прямо, вы не упомянули об этом ... – arcy