What you want is for those variables to be members of the class — as you have it now they are declared locally to the constructor.

public class CO2FromWaste { // Moved your variables to here, outside of any method. // They should be declared at/near the top of the class, // *before* the constructor (by convention) // I also made them `private` because you don't want code // that is *outside* of this class to access them. private double ogGrosss; private double grosss; CO2FromWaste(int numPeople, boolean paper, boolean plastic, boolean glass, boolean cans) { // Now assign them their values. // You can optionally use `this` this.ogGrosss = numPeople*1018; if(paper == true) gross -= 184*numPeople; if(plastic == true) gross -= 25.6*numPeople; if(glass == true) gross -= 46.6*numPeople; if(cans == true) gross -= 165.8*numPeople; } // removed the declarations from here - these were now duplicates. public void calcGrossWasteEmission() { System.out.printf("%20.2f", gross); } public void calcWasteReduction() { System.out.printf("%20.2f", ogGross - gross); } public void calcNetWasteReduction() { System.out.printf("%20.2f", gross); } }

Note the = operator in if(paper = true) is assignment — you want to compare these variables, which is done with the == operator.

(untested. I didn't even try to compile this, just modified your code)