//Bom dia Galera , sou estudando inicial e estou tentando ordenar algumas coias de forma aleatória mas ta dando esse erro e não estou conseguindo entender o que preciso fazer.
Obrigado pela ajuda !
-> Exception in thread "main" java.lang.Error: Unresolved compilation problem:
No enclosing instance of type TempMesesAno is accessible. Must qualify the allocation with an enclosing instance of type TempMesesAno (e.g. x.new A() where x is an instance of TempMesesAno).
package w3schoolspackage;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class TempMesesAno implements Comparable<TempMesesAno> {
@Override
public String toString() {
return "TempMesesAno [mes=" + mes + ", temperatura=" + temperatura + "]";
}
private String mes;
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((mes == null) ? 0 : mes.hashCode());
result = prime * result + ((temperatura == null) ? 0 : temperatura.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
TempMesesAno other = (TempMesesAno) obj;
if (mes == null) {
if (other.mes != null)
return false;
} else if (!mes.equals(other.mes))
return false;
if (temperatura == null) {
if (other.temperatura != null)
return false;
} else if (!temperatura.equals(other.temperatura))
return false;
return true;
}
private Double temperatura;
public TempMesesAno(String mes, double temperatura) {
super();
this.mes = mes;
this.temperatura = temperatura;
}
public String getMes() {
return mes;
}
public void setMes(String mes) {
this.mes = mes;
}
public double getTemperatura() {
return temperatura;
}
public void setTemperatura(double temperatura) {
this.temperatura = temperatura;
}
public int compareTo(TempMesesAno o) {
// TODO Auto-generated method stub
return this.temperatura.compareTo(o.getTemperatura());
}
class cadaMes implements Comparator<TempMesesAno>{
public int compare(TempMesesAno o1, TempMesesAno o2) {
return o1.getMes().compareTo(o2.getMes());
}
}
public static void main(String[] args) {
List<TempMesesAno> listaMes = new ArrayList<TempMesesAno>();
TempMesesAno mes1 = new TempMesesAno ("janeiro", 100);
TempMesesAno mes2 = new TempMesesAno ("dezembro", 50);
TempMesesAno mes3 = new TempMesesAno ("julho", 90);
listaMes.add(mes1);
listaMes.add(mes2);
listaMes.add(mes3);
Collections.sort(listaMes, new cadaMes()); // aqui aparece o erro que falei !
}
}