『壹』 java裡面有沒有二維向量的類
弄個二維數組就行了啊,java本身是沒有提供這樣的類的,你可以自己定義,也不難的。
『貳』 如何定義JAVA中double類型的數組
如果您在一定區間抄內初始化襲別的數,可以使用Fill方法。
第一步:聲明數組。
double[] arr=new double[50];
第二步:填充。(比如都初始化成3.14)
Arrays.Fill(arr,3.14)。
『叄』 JAVA中如何儲存不知道大小的二維數組
首先你要了解什麼是數組,數組在內存中是一段連續的空間,這樣的優點就是元素的訪問速度快,要長度可變的話你可以用鏈表,java 自帶有一個雙向鏈表 LinkedList ,也有一個ArrayList 這個就不能算是鏈表了.當然你可以自己寫一個結構來實現,這個也不難,有點像鏈式哈希表,基本上用鏈表改一下就成了。
不過話說回來,我用java這么久還真的沒有數組在用的時候不能確定它長度的, 正如樓上所說「int a=0,b=0;
Object[][] c=new Object[a][b];」大部份我們都是這樣來聲明數組的,數組在我們在聲明的時候基本上要多大我們是知道的。
『肆』 如何把這種表轉化成java中的二維向量
用二維數組存放不太好,年月跨年了,是個區間值,不能統一用double或String,建議用集合,內例如:
//1
Map<String,Map<String,Double>>map1=newHashMap<String,Map<String,Double>>();
Map<String,Double>map=newHashMap<String,Double>();
map.put("1958-03",16.5);//依次填容入12個月
map1.put("1958~1959",map);
//2
Map<String,Double[]>map2=newHashMap<String,Double[]>();
Double[]cost=newDouble[12];
cost[0]=16.5;//依次填入12個月
map2.put("1958~1959",cost);
『伍』 java向量
publicclassTest7{
//cos夾角=a向量點乘b向量/(a向量的模*b向量的模),這里沒有考版慮經度問題。
publicstaticvoidmain(String[]args){
權intx1=3,y1=4,z1=5;
intx2=6,y2=8,z2=10;
doublediancheng=x1*x2+y1*y2+z1*z2;
doubleaa=Math.sqrt(Math.pow(x1,2)+Math.pow(y1,2)+Math.pow(z1,2));
doublebb=Math.sqrt(Math.pow(x2,2)+Math.pow(y2,2)+Math.pow(z2,2));
doublecos=Math.round(diancheng/(aa*bb));
System.out.println("夾角為:"+Math.acos(cos));
}
}