El tipo de la expresión debe ser un tipo de matriz, pero se resolvió en "Temperatura" -JAVA

Buen dia a todos,

Así que hice una clase de temperatura, que tiene un constructor para hacer la temperatura. La temperatura es una lista de 2 números [frío, calor].

    public int hotness;
public int coldness;
public int[] temperature;
public int maxTemperature = 10000;


//Constructor Temperature
public Temperature(int hotness, int coldness) {
    /**
     * A constructor for the Array Temperature
     */
    maxTemperature = getMaxTemperature();
        if(hotness <= maxTemperature && coldness <= maxTemperature)
        temperature[0] = coldness;
        temperature[1] = hotness;
        }

y ahora quiero ir a otra clase y usar ese objeto Temperatura para hacer algunos cálculos. Aquí está el código para ello.

    //Variabels

public int volatility;
private static Temperature temperature;
private static int intrensicExplosivity;

    public static int standardVolatility(){
    if(temperature[0] == 0){
        int standardVolatility = 100 * intrensicExplosivity * (0.10 * temperature[1]);
    }

así que ahora aparece el error: el tipo de la expresión debe ser un tipo de matriz pero se resolvió a "Temperatura"

alguna solucion?

Soy bastante nuevo en Java, por lo que probablemente solo se trate de algunos errores de sintaxis, pero no puedo encontrarlo.

gracias por adelantado. David

Respuesta 1

Primero cree métodos getter & setter en la clase Temperature y luego llame a temperature.getTempertature () y úselo en la segunda clase.

Respuesta: 2

tempeturees de tipo Tempetureque no es una matriz. Lo que desea es el miembro de la matriz temperaturedentro de su instancia de objeto (que también llamó tempature).

De todos modos cambia la línea:

if(temperature[0] == 0) 
.
.

Con :

if(temperature.tempature[0] == 0)
.
.

Te aconsejaría usar getters y setters y también usar nombres que no te confundan.

Respuesta: 3

Mezclas algunas variables aquí.

En el siguiente bloque de código, se temperaturerefiere a una instancia de su Temperatureclase, pero asumió que se refiere a la matriz de temperatura, que es un miembro de la Temperatureclase.

public static int standardVolatility() {
    if(temperature.temperature[0] == 0){
        int standardVolatility = 100 * intrensicExplosivity * (0.10 * temperature[1]);
    }
Respuesta: 4

Estoy usando eclipse en Windows 7. Cuando configuro el argumento -Xmx más grande que 1500m, se produce el siguiente error: Error durante la inicialización de VM No se pudo reservar suficiente espacio para el montón de objetos ...

Para un problema de tarea, necesito escribir un método Java para encontrar el késimo número más pequeño en una matriz, usando una partición de estilo de clasificación rápida. Me dieron el método de partición (), y se supone que debo escribir el ...

Cifrado de clase pública {private static final int [] encrypt = {2, 9, 3, 4, 6, 8, 1, 0}; privado estático final int [] descifrar = nuevo int [8]; privado estático final int minLength = 10; Cadena encriptada (...

Estoy tratando de convertir una cadena específica en un byte []. La cadena se ve así: 55 55 F5 FF FF y aquí está el método que escribí para ello, espero que alguien pueda decirme qué está mal o tiene una mejor solución. ...