Sinceramente non era mia intenzione fare gli indovinelli, ma anzi eliminare quella parte di codice, la quale a parer mio, non portava contributo ai fini della risoluzione del problema, comunque il listato integrale è il seguente:

codice:
public class NodeTest {

  public static void main(String argv[]) {
	
	//inerisce nell'array Nodes tre oggetti Node
	Node[] nodes = new Node[150];
	double d;	//distanza
	double r; 	//raggio
	int l = 350;	//Lunghezza Area
	int a = 500;	//Altezza Area
	double Nd;	//numeri di nodi generati da una sequqnza casuale
	Integer i;	//buffer
	int k,q;	//indice
	boolean flag = true;
	NumberFormat formattatore = NumberFormat.getNumberInstance();  // cultura predefinita
	
	formattatore.setMaximumFractionDigits(2); // max due cifre decimali dopo la virgola
	
	//metodo per leggere un numero corretto da input
        while (true){
            try {
                String numero = JOptionPane.showInputDialog(null,"Inserisci un numero intero. [Con 20 genera casualmente]");
                i = new Integer(numero);
                break;
            } catch (NumberFormatException e) { 
            	JOptionPane.showMessageDialog(null,"Devi inserire un numero intero!");
            }//catch
        }//while
        
        System.out.println("\n Area MAX: altezza="+a+"; lunghezza="+l+"\n");
        
        //converte un numero oggetto Integer in un numero intero
        int Np = i.intValue();	//Numero di Nodi
        
	if(Np==20){		//se il numero di nodi è 20 genera un numero di nodi casuali
          Nd=4+46*Math.random();
          Np=(int)Nd;	
        }//if
        
        if(Np>=150){
        	Np = 150;
        }//if
        
	//System.out.println("***DEBUG Np = "+Np);
	
	//posiziona i nodi nel piano in modo casuale
	for(k=0;k<Np;k++){
           nodes[k]= new Node(Math.random()*(a-30)+15, Math.random()*(l-30)+15);
         }//for k
         
	
	//stampa l'informazione su tutti gli oggetti Employee
	for(k = 0; k < nodes.length; k++){
		Node e = nodes[k];
		e.setId();
		r = e.getR();
		//e.setR(-2);
		//double r2 = e.getR();
		d = e.getD(nodes[0].getX(), nodes[0].getY());
		 // imposto il formattatore con le specifiche desiderate
		System.out.println("id="+formattatore.format(e.getId())
			+ "\t (" + formattatore.format(e.getX()) + ";" + formattatore.format(e.getY()) 
			+ ") \t raggio=" + formattatore.format(r)
			+ " \t d = " + formattatore.format(d));
		nodes[k] = e;
	}//for k

//NON VIENE VISUALIZZATO!!!

	for(k = 0; k < nodes.length; k++){
       		 // imposto il formattatore con le specifiche desiderate
       		System.out.println("***DEBUG nodes["+formattatore.format(nodes[k].getId())
       			+ "]\t (" + formattatore.format(nodes[k].getX()) + ";" + formattatore.format(nodes[k].getY()) 
       			+ ") \t raggio=" + formattatore.format(nodes[k].getR())
       			+ " \t d = " + formattatore.format( nodes[k].getD( nodes[0].getX(), nodes[0].getY() ) ) );
       	}//for k
	
  }//main
  
}//NodeTest