2016-04-29 16 views
0

Grundsätzlich versuche ich, meinen Code zu bekommen, um die gegebenen Variablen (bereitgestellt durch eine Benutzereingabe) in einer einzelnen Zeile unterhalb meiner Ausgabe anzuzeigen.Eine Eingabe in die nächste Zeile eines Ausgangs bekommen

Zum Beispiel mein Code tut dies:

Enter 3 variables for array X: 
    2.1 
    3.5 
    5.4 

ich dies tun wollen:

Enter 3 variables for array Y: 
    2.1 3.5 5.4 

Hier meine gesamte Code ist:

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; 
    } 
} 

Jede Hilfe ist willkommen .

+0

Sie sagen, Sie die Benutzer zur Eingabe alle Zahlen auf der Lage sein wollen die gleiche Linie? Trennen Sie sie einfach mit Leerzeichen anstelle der Eingabetaste. –

Antwort

1

Wenn Sie Ihre Create Funktion dies ändern, Sie können Zahlen eingeben, entweder eine auf jeder Zeile oder in einer Zeile:

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

Danke Christian –

Verwandte Themen