想问问大家我这段代码的运行错误出现在哪
能不能麻烦大家帮我看一下,总显示我运行错误(挠头),谢谢!
import java.io.*; import java.util.*; public class OJ1045 { public static void main(String args[]) { Scanner ain = new Scanner(System.in); while(ain.hasNext()) { int n = ain.nextInt(); int x[] = new int[n]; int y[] = new int[n]; int r[] = new int[n]; for(int i = 0; i < n; i++) { x[i] = ain.nextInt(); y[i] = ain.nextInt(); r[i] = ain.nextInt(); } int count = 0; for(int i = 0; i < n; i++) { if(r[i]>0) { count++; } } if(count==n) { if(n==1) { double s = r[0]*r[0]*(157/50); for(int i = 1; ; i++) { if((i*i)>=s ) { System.out.println(i); break; } } } else { if(n>0 && n!=1) { double distance[] = new double[n]; int a = 0; for(int i = 0; i < n-1; i++) { for(int j = i+1; j < n; j++) { distance[a++] = Math.sqrt((Math.pow((x[i]-x[j]),2))+(Math.pow((y[i]-y[j]),2))); } } double d1[] = new double[n]; int b = 0; double r1 = 0; for(int i = 0; i < n-1; i++) { for(int j = i+1; j < n; j++) { if(r[i]<=r[j]) { double distance1 = distance[b]+r[i]; if(distance1<=r[j]) { r1 = r[j]; d1[b] = r1; } else { r1 = (distance1+r[j])/2; d1[b] = r1; } b++; } else { double distance2 = distance[b]+r[j]; if(distance2<=r[i]) { r1 = r[i]; d1[b] = r1; } else { r1 = (distance2+r[i])/2; d1[b] = r1; } b++; } } } Arrays.sort(d1); double s1 = d1[n-1]*d1[n-1]*(157/50); for(int i = 1; ; i++) { int s2 = i*i; if(s2>=s1) { System.out.println(i); break; } } } } } } } }