Я нахожу трех соседей значения (6,33). Каков наилучший способ сделать это. я использую json-Simple для чтения файла. Если начало координат (6,33), то первым элементом на выходе будет координата, ближайшая к (6,33), затем вторая ближайшая, затем третья ближе и т. д. для всех 26 ввода координат:найти значение трех соседей в массиве значений json
[
{"id":"a","value":[31,49]},
{"id":"b","value":[44,67]},
{"id":"c","value":[93,6]},
{"id":"d","value":[20,16]},
{"id":"e","value":[68,53]},
{"id":"f","value":[71,8]},
....,
{"id":"y","value":[75,92]},
{"id":"z","value":[32,33]}
]
public class readData {
public static void main(String[] args) throws FileNotFoundException,
IOException, ParseException {
Scanner xInput = new Scanner(System.in);
System.out.println("Enter your X value");
int x = xInput.nextInt();
Scanner yInput = new Scanner(System.in);
System.out.println("Enter your Y value");
int y = yInput.nextInt();
JSONParser parser = new JSONParser();
JSONArray jsonArray = (JSONArray) parser.parse(new FileReader("E:\\data\\coordinates.json"));
for (Object o : jsonArray) {
JSONObject data = (JSONObject) o;
String id = (String) data.get("id");
System.out.print("id:" + id+"\t");
JSONArray value = (JSONArray) data.get("value");
for(Object v: value){
System.out.print(v+ " ");
}
System.out.println("\n");
}
xInput.close();
yInput.close();
}
}
Спасибо, Gonza, Это сработало для меня. Цените свой повтор. – Nan2015