Il sistema operativo non c'entra nulla...

codice:
    String s = "";
   
    int i = s.lenght();
   
    while(i >= 0){
        sbin = s.charAt(i);
	i--}
Queste righe in sequenza generano giustamente un'eccezione dato che vuoi fare il charAt() sulla stringa s che è vuota.