本質上,我有一個xyz生成器,但我需要能夠存儲它並稍後調用這些值。我的問題是,我的價值觀是雙打和我表示三維陣列本身,而是我還是回來了一個錯誤:使用變量值和嵌套循環填充多維數組
incompatible types: possible lossy conversion from double to int
我以爲我已經表明我的價值觀是雙打和所有的變量都從這個拉上課......也許我錯過了一些基本的東西?
所以:
- 能有人指出爲什麼這個代碼不工作?和
- 有沒有更容易或更快的方法來解決這個問題?
我從一個3D數組開始,該3D數組應該包含我的xyz座標,儘管我打開了替代方式來存儲我的數據。座標至少有3位小數位(0.000)。
我使用嵌套循環創建新點,如果新點符合特定條件,我希望這些新的xyz座標被添加到數組中。這裏是我到目前爲止的代碼:
public class foo{
double x = 25, y = 25, z = 25;
double i, j, k, rx, ry, rz, dist;
double rmin=0.1-0.01, rmax = 0.1+0.01;
double ngrid;
double nmax = 100000;
double xgrid, ygrid, zgrid;
public void gridCoors(){
double[][][] threeD = new double [rx][ry][rz];
for (ngrid = 0 ; ngrid < nmax ; ngrid++){
for (i = -x ; i < x; i++) {
rx = i*0.01;
for(j = -y; j < y; j++){
ry = j*0.01;
for(k = -z; k < z; k++){
rz = z*0.01;
dist = sqrt(rx*rx + ry*ry + rz*rz);
if (dist > rmin && dist < rmax){
xgrid = rx;
ygrid = ry;
zgrid = rz;
threeD.add(new gridCoors(rx,ry,rz));