Я довольно новичок в программировании на Java, особенно делаю это для создания файла Excel.Но, возможно, кто-то может помочь мне с этой проблемой.
В настоящее время я создал через Apache Poi и Eclipse электронную таблицу в Excel.Там я получил 3 столбца и 40 строк.Они заполнены координатами (x и y-координаты) и их именами (в моем случае 1 - 40).Теперь, когда я наконец получил эти случайные числа, я хочу создать матрицу расстояний (с евклидовым расстоянием) между этими точками.Например, я хочу, чтобы это выглядело так:
1 2 3 1 0 1 2 2 1 0 4 3 2 4 0
Я не уверен, как получить эти созданные случайные числа ирассчитать с ними.Как и я, я не уверен, как реализовать формулу для евклидова расстояния.Было бы здорово, если бы кто-то мог мне помочь!Заранее спасибо!
Вот мой код:
import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.util.CellRangeAddress;
import java.util.Random;
public class poiexample {
public static void main(String[] args) throws Exception {
XSSFWorkbook Datei = new XSSFWorkbook();
FileOutputStream out = new FileOutputStream (new File ("Dateien.xlsx"));
for(int i=0;i<101;i++)
{ XSSFSheet Blatt = Datei.createSheet("Tabelle" + i);
XSSFRow row1 = Blatt.createRow(0);
row1.createCell(2).setCellValue("x");
row1.createCell(3).setCellValue("y");
for(int j=0; j<25; j++) {
XSSFRow row = Blatt.createRow(j+1);
row.createCell(0).setCellValue("P"+j);
row.createCell(1).setCellValue(j+1);
row.createCell(2).setCellValue(Math.round(Math.random()*10));
row.createCell(3).setCellValue(Math.round(Math.random()*10));
}
for(int j=25; j<40; j++) {
XSSFRow row = Blatt.createRow(j+1);
row.createCell(0).setCellValue("D");
row.createCell(1).setCellValue(j+1);
row.createCell(2).setCellValue(Math.round(Math.random()*10));
row.createCell(3).setCellValue(Math.round(Math.random()*10));
}
}
try {
Datei.write(out);
out.close();
}
catch(Exception e) {
System.out.println(e);
}
System.out.println("Excel file created");
}
}