2016-02-05 2 views
0

Я нахожусь на самых ранних этапах программирования на Java, и я продолжаю получать ошибку компилятора, упомянутую в названии. Вот мой основной метод для кода:«Нестатические переменные степени не могут ссылаться на статический контекст»?

public class Temperature 
{ 
    public double degrees; 
    public char scale; 
    public double degreesC = (5*(degrees - 32))/9; 
    public double degreesF = (9*(degrees)/5) + 32; 
    Temperature temp1 = new Temperature(degrees); 

    public static void main(String[] args) 
    { 
    Temperature gTF = new Temperature(); 
     gTF.getTemperatureFahrenheit(); 
    Temperature gTC = new Temperature(); 
     gTC.getTemperatureCelsius(); 
    Temperature sD = new Temperature(); 
     sD.setDegrees(degrees); 
    Temperature sS = new Temperature(); 
     sS.setScale(scale); 
    Temperature sDS = new Temperature(); 
     sDS.setDegreesScale(degrees, scale); 
    Temperature eqls = new Temperature(); 
     eqls.equals(temp1); 
    Temperature gT = new Temperature(); 
     gT.greaterThan(temp1); 
    Temperature lT = new Temperature(); 
     lT.lessThan(temp1); 
    Temperature tS = new Temperature(); 
     tS.toString(); 
    } 

Я получаю эту ошибку при компиляции, когда я пытаюсь передать в «степени», «масштаб», или «temp1» в каждый из вызовов методов. Кто-нибудь знает, почему? Помощь будет принята с благодарностью!

* Примечание. Все эти методы (например, getTemperatureFahrenheit, setDegrees и т. Д.) Были предоставлены моим профессором, и нам не разрешено изменять их, и все они нестатические.

+0

Нестатическая переменная также известна как переменная экземпляра. Вам нужен экземпляр класса, потому что здесь доступна переменная. –

ответ

1

Проблема main() является статической, где переменные, такие как degrees, scale и т. Д. Являются нестатической/переменной экземпляра, которые не существуют без создания экземпляра класса. Вам необходимо указать класс Temperature, чтобы использовать его в статическом блоке, здесь, например, main(), например. sD.setDegrees(gTC.degrees);

Смежные вопросы