How make robot turning going straight?
The main problems I see are the following:


The value in the numRight variable is wrong for two reason: The 'right' sensor is not reseted at the proper time and you read the 'left' sensor value instead of the 'right'.
The angle calculation is faulty
The half rotation is performed in the wrong direction


Here are my code comments:

//Move forward until you find black
[...]

//Move forward until you are not on black anymore
[...]

//Reset the rotation sensors
[...]
//   WARNING: The right sensor is reset for no reason   
Right.resetTachoCount();

//Turn left until you find black
[...]

//Get the left rotation sensor data  
[...]

//Turn right until you are not on black anymore
[...]

//Get the right rotation sensor data
//   ERROR: This action should not be done until you have turned all the way to the right   
//   ERROR: At this stage the right sensor should be reseted   
//   Note: ...and the 'left' data was put in the 'right' variable  
numRight += Left.getTachoCount();

//Turn right until you find black
[...]

//Get the right rotation sensor data
//   ERROR: This data should come from right.getTachoCount();  
numRight += Left.getTachoCount();

//Calculate the half angle
//   ERROR: The calculation should be: numberTurn = ((numRight + numLeft) / 2 ) / 2;
//   Explaination: By adding the two rotations and then dividing by 2 you get the average of the two.
//                 The result is then divided by 2 again to get the half angle.  
numberTurn = (numRight-numLeft)/2;
//Rotate back (should be to the left) to half the angle
//   ERROR: Rotation is performed to the right when it shoud be to the left 
Left.rotateTo(-numberTurn,true);
Right.rotateTo(numberTurn,true);


Recommendation: When dealing with multi steps processes like this one, add the steps one by one while re-testing each time. The test should validate that the previous steps are still working and  that the added step is working as planned.