2016-04-29 19 views
0

基本上我試圖讓我的代碼輸出給定的變量(由用戶輸入提供)以顯示在我的輸出下面的一行中。在輸出的下一行獲取輸入

例如,我的代碼做到這一點:

Enter 3 variables for array X: 
    2.1 
    3.5 
    5.4 

我希望它這樣做:

Enter 3 variables for array Y: 
    2.1 3.5 5.4 

這裏是我的全部代碼:

import java.util.Scanner; 
public class Project4JamesVincent { 
    public static void main(String []args){ 
    Scanner input = new Scanner(System.in); 
    System.out.print("Enter the size of the arrays: "); 
    int size = input.nextInt(); 
    System.out.println(); 
    System.out.println("Enter " + size + " items for array X: "); 
    double[] arrayX = createArray(size, input); 
    System.out.println(); 
    System.out.println("Enter " + size + " items for array Y: "); 
    double[] arrayY = createArray(size, input); 
    System.out.print("The distance between x and y is: "); 
    double totalDistance = 0; 
    for (int i = 0; i<size; i++){ 
     totalDistance = totalDistance + Math.abs((arrayX[i]-arrayY[i])); 
    } 
    double averageDistance = 0; 
    averageDistance = (totalDistance/size); 
    System.out.printf("%3.2f", averageDistance); 
    }  
    public static double[] createArray (int n, Scanner enter){ 
     double[] tempArray = new double[n]; 
     for (int i=0; i<tempArray.length; i++){ 
      tempArray[i] = enter.nextDouble(); 
     } 
     return tempArray; 
    } 
} 

任何幫助表示讚賞。

+0

你是說,你希望用戶能夠輸入的數字都在同一條線?只需用空格分隔它們而不是輸入鍵。 –

回答

1

如果您改變createArray功能,這一點,你可以輸入數字或者一個上一行每行或全部:

public static double[] createArray (int n, Scanner enter){ 
    double[] tempArray = new double[n]; 
    int pos=0; 
    while (enter.hasNext()) { 
     tempArray[pos++] = enter.nextDouble(); 
     if (pos>=n) 
      break; 
    } 
    return tempArray; 
} 
+0

謝謝基督徒 –