I am trying to learn Android Studio and my first app is a blood alcohol calculator. The user starts that app and then a new activity is started so that they can enter their weight and press ok, this returns them back to the main activity and fills in the weight text.
I use startActivityForResult and then putExtra in the second activity. The first activity crashes if I use the getExtra method, if I delete the 2 receiving lines of code then there is no crash. When I use the debugger it says NullPointerException just before it says App has stopped working
Main activity code
    public class MainActivity extends Activity {
      static int displayunit = 0;
      static double percentage = 5.0;
      static int change = 1;
      static double bah;
      static double vol = 25;
      static double timestamp = 0;
      static double w = 0;
      static String we = "a";
      final int rcode = 3;
      final String[] units = {"Small Shot(25ml)", "Large Shot(35ml)", "Small 
    Port/Sherry(50ml)", "Large Port/Sherry(70ml)", "Small Wine(125ml)", 
    "Large 
    Wine(175ml)", "Small Beer Bottle(284ml)", "Half Pint(236.6ml)", "Medium 
    Beer Bottle(330ml)", "Can of beer(440ml)", "Large Bottle(500ml)", 
    "Pint(568.26ml)", "Massive Beer Bottle(660ml)"};
    final int[] unitsum = {25, 35, 50, 70, 125, 175, 284, 237, 330, 440, 500, 
    569, 660};
      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Intent intent = new Intent();
 intent.setClassName("com.example.alccalc","com.example.alccalc.enterweight");
            if(w ==0){
             startActivityForResult(intent, rcode);
            }
      }
            @Override
            protected void onActivityResult ( int requstCode, int resultCode, 
    Intent intent){
                if (requstCode == rcode && resultCode == RESULT_OK) {
                    we = getIntent().getStringExtra("weighttext");
                    w = Double.parseDouble(we);
                }
                TextView kg = (TextView) findViewById(R.id.kg);
                kg.setText(we)
Second Activity
    public class enterweight extends Activity {
    EditText entweight;
    TextView tester;
    String weightstring;
    @Override
    protected void onCreate(Bundle State) {
    super.onCreate(State);
    setContentView(R.layout.activity_enterweight);
    entweight = (EditText) findViewById(R.id.entweight);
    tester = (TextView)findViewById(R.id.tester);
    Button okweight = (Button) findViewById(R.id.okweight);
    okweight.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            weightstring = entweight.getText().toString();
            //tester.setText(weightstring);
                Intent intent = new Intent();
                intent.putExtra
                        ("weighttext", weightstring);
                setResult(RESULT_OK, intent);
                if (intent.hasExtra("weighttext")) {
                    finish();
                }
        }
    });
    }
    }
 
     
     
    