[英]How can I return an Array list value into a separate array?
我正在嘗試創建一個程序來獲取兩個向量的點積。 我通過創建一個數組列表(命名距離)來實現。 通過在main方法中更改此行,可以使該程序使用硬編碼數字運行。
double vect_A[] = distnace(mag);
double vect_B[] = distance(dista);
我知道上面的代碼無法運行,是否可以將這些特定值返回到單獨的數組中? 還是我錯誤地解決了這個問題。 我對Java非常陌生,將不勝感激。
//java implementation for dot product
// and cross product of two vector.
import java.util.Scanner;
import java.util.ArrayList;
class practiceMats {
public static void main (String[] args) {
vector();
double vect_A[] = distnace(mag);
double vect_B[] = distance(dista);
// dotProduct function call
System.out.print ( "Dot product:");
System.out.println (dotProduct(vect_A, vect_B)) ;
}
static double n = 3.0;
// Function that return
// dot product of two vector array.
static double dotProduct(double vectorA[], double vectorB[])
{
double product = 0.0;
// Loop for calculate cot product
for (int i = 0; i < n; i++)
product = product + vectorA[i] * vectorB[i];
return product;
}
static ArrayList<Integer> vector()
{
ArrayList<Integer>distance= new ArrayList<Integer>();
Scanner scan = new Scanner (System.in);
System.out.println("Please enter your array length: ");
int s = Integer.parseInt(scan.nextLine());
System.out.println();
for(int i = 0; i < s; i++) {
System.out.println("Enter your distance: ");
int dista = Integer.parseInt(scan.nextLine());
distance.add(dista);
System.out.println("Enter your distance: ");
int mag = Integer.parseInt(scan.nextLine());
distance.add(mag);
}
return distance;
}
}
確保在“ vect_A”之后正確拼寫距離。
(添加為答案,因為我無法發表評論...)
我將采取略有不同的方法,而不是嘗試使用單個方法調用讀取兩個數組,而是將其調用兩次以讀取用戶的數組輸入。 這樣,用戶還將知道他為arrayA和arrayB輸入的值。 因此,您的向量方法將如下所示:
static ArrayList<Integer> vector(int vectorSize)
{
System.out.println("Kindly provide details for the Vector: ");
ArrayList<Integer>distance= new ArrayList<Integer>();
Scanner scan = new Scanner (System.in);
for(int i = 0; i < vectorSize; i++) {
System.out.println("Enter your distance: ");
int dista = scan.nextInt();
distance.add(dista);
}
return distance;
}
主要方法如下:
public static void main (String[] args)
{
System.out.println("Please enter your array length: ");
int s = scan.nextInt();
System.out.println();
List<Integer> vectorA= vector(s);
List<Integer> vectorB= vector(s);
double vect_A[] = //convert your List vectorA to array
double vect_B[] = //convert your List vectorB to array
// dotProduct function call
System.out.print ( "Dot product:");
System.out.println (dotProduct(vect_A, vect_B)) ;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.