Il codice che ho scritto è imperfetto, perchè legge e confronta solo lacodice:import java.io.*; public class Cluster { public static void main(String args[]) { try{ // preparo i file input/output FileReader inputcluster = new FileReader("cluster.txt"); BufferedReader cluster = new BufferedReader(inputcluster); FileReader inputcerchi = new FileReader("cerchi.txt"); BufferedReader cerchi = new BufferedReader(inputcerchi); FileWriter fileOutput = new FileWriter("output.txt"); PrintWriter output = new PrintWriter(fileOutput); // lettura della riga di coordinate dei punti (da cluster.txt) String cPunto = cluster.readLine(); String[] coordinataP = cPunto.split("\\s"); //converto in double double xPunto = Double.parseDouble(coordinataP[0]); double yPunto = Double.parseDouble(coordinataP[1]); //preparo l'output output.println("Cluster (" + xPunto + " " + yPunto + "): "); //lettura di coordinate da cerchi.txt String cCerchio = cerchi.readLine(); String[] coordinataC = cCerchio.split("\\s"); // conversione in double delle coordinate double xCerchio = Double.parseDouble(coordinataC[0]); double yCerchio = Double.parseDouble(coordinataC[1]); double rCerchio = Double.parseDouble(coordinataC[2]); // verifica se il cerchio contiene il punto // calcolanto la distanza tra il centro del cerchio e il punto double distanza = pitagora(xPunto, yPunto, xCerchio, yCerchio); // se la distanza è minore o uguale al raggio // il cerchio contiene il punto if (distanza <= rCerchio) output.println(xCerchio + " , " + yCerchio + " raggio: " + rCerchio); output.close(); } catch (IOException e){ System.out.println("Errore: " + e);} } public static double pitagora(double xPunto, double yPunto, double xCerchio, double yCerchio) { return (Math.rqst(((xPunto - xCerchio) * (xPunto - xCerchio)) + ((yPunto - yCerchio) * (yPunto - yCerchio)))); } }
prima riga, dovrei mettere un doppio ciclo che mi legge il punto, legge
il cerchio, confronta le coordinate, legge un altro cerchio, confronta
le coordinate, finiti i cerchi legge un altro punto e riparte con la
lettura e il confronto con i cerchi.
cosa uso per mettere un ciclo?
inoltre, dovrei stampare anche ogni cluster(punto) e le coordinate del
cerchio più vicino per ognuno, cosa posso fare per memorizzare (e non
solamente stampare) i cerchi che contengono il punto?(non c'è un numero
predefinito di cerchi e punti, quindi dovrebbe essere una soluzione
adatta) in modo che poi posso trovare il più vicino?
scusate le richieste che potranno essere banali, ma sono alle prime armi
e questo esercizio era un pò più laborioso degli altri che ho fatto fin'ora
Grazie dell'aiuto che mi avete dato fino ad ora(spero che mi aiuterete anche per quest'altre cose)![]()

Rispondi quotando