java - Variable has not been initialised -


public class color { private int red; private int green; private int blue;  /**  * turns color equivalent gray value.  */ public void turngray() {     int red = (int)(0.2126*red + 0.7152*green + 0.0722*blue);     int green = red;     int blue = red;  } 

when try compile program returns variable red might not have been initialised. why dosn't code reassign red value on lhs of equation?

you re-declaring red,green , blue variables local variables in method, hiding instance variables having same names. local variable has no default value , can't accessed before initialized.

since have instance members same names, i'll assume meant use them :

public void turngray() {     red = (int)(0.2126*red + 0.7152*green + 0.0722*blue);     green = red;     blue = red; } 

in code, instance variables used. now, hope initialize these variables in code didn't show us. otherwise they'll have default value of 0, , stay 0 when execute turngray.


Comments

Popular posts from this blog

Fail to load namespace Spring Security http://www.springframework.org/security/tags -

sql - MySQL query optimization using coalesce -

unity3d - Unity local avoidance in user created world -