Simple subnet calculator and parser
Splitting the input, parsing the parts, figuring the bits and filling the hosts list should all be seperate methods that return the results to main. 
Every method should perform a simple task. If you list the steps necessary to perform an action, each step should be a separate method. 
Commenting a methods purpose above it will help you and others understand it's inner workings. 
Bits and bites are not the same thing. 
 double totalbites = Bits - S; 
Also variable names should not start with a capital unless they are all capitals. 
Variable names like A, B, C, E, X, S are not very helpful. input1, input2,... and num1, num2,... would convey a clearer picture of these variables purpose. 
Use comments to explain the actions taking place.