2016-11-16 2 views
0

Das Folgende ist für eine meiner Zuweisungen in meiner Java-Programmierklasse. Ich habe den ganzen Code schon geschrieben, ich kann mir einfach nicht vorstellen, wie man die Ausgabeanzeige macht, was ich brauche, um sie anzuzeigen.Print-Array mit "und" vor dem letzten Element

Für meine Aufgabe muss ich ein Programm mit einem eindimensionalen Array schreiben, das 10 ganze Zahlen zwischen 1 und 100 enthält und das Array mit einer Blasensortierung sortieren.

Ein Beispiel von dem, was die Ausgabe so aussehen muss, ist dies:

unsortierten Liste ist: 54, 27, 13, 97, 5, 63, 78, 34, 47, und 81
die sortierte Liste ist: 5, 13, 27, 34, 47, 54, 63, 78, 81, und 97

My Ausgang dieses anzeigt:
die unsortierten Liste ist: 54, 27, 13, Die sortierte Liste lautet: 5, 13, 27, 34, 47, 54, 63, 78, 81, 9 7,

Ich kann nicht herausfinden, wie man die "and" in den Ausgang schreibt.

public class Chpt7_Project { 
/** The method for sorting the numbers */ 
public static void bubbleSort(int[] numbers) 
    { 
    int temp; 

     for (int i = numbers.length - 1; i > 0; i--) 
     { 
     for (int j = 0; j < i; j++) 
     { 
      if (numbers[j] > numbers[j + 1]) 
      { 
      temp = numbers[j]; // swap number[i] with number[j] 
      numbers[j] = numbers[j + 1]; 
      numbers[j + 1] = temp; 
      } 
     } 
     } 
    } 
public static void main(String[] args) { // Test Method 

    System.out.print("The unsorted list is: "); 
    // Generate 10 random numbers between 1 and 100 
    int[] numbers = new int[10]; 

    for (int i=0;i<numbers.length;i++) { 
     numbers[i] = (int) (Math.random() * 100); 
     System.out.print(numbers[i] + ", "); 
    } 
    System.out.println(); 

    bubbleSort (numbers); // numbers are sorted from smallest to largest 
    System.out.print("The sorted list is: "); 
    for (int i=0;i<numbers.length;i++) { 
     System.out.print(numbers[i] + ", "); 
    } 
} 


} 
+0

Was haben Sie versucht, diese endgültige Schleife der Hauptmethode zu ändern? Du hast auch ein nachkommendes Komma, also wirst du genau wissen, wann du die "und" hinzufügen sollst. –

+2

Ich würde die for-Schleife zu 'numbers.length-1' modifizieren und nach der Schleife kann man' drucken "and" + numbers.Last' oder so ähnlich. –

+0

Vielleicht hilft Ihnen ein einfaches if-else hier? –

Antwort

1

ändern diese Schleife

for (int i=0;i<numbers.length;i++) { 
    System.out.print(numbers[i] + ", "); 
} 

zu

for (int i=0;i<numbers.length;i++) { 
    if(i== numbers.length-1) { 
     System.out.println("and "+numbers[i]); 
    } else { 
     System.out.print(numbers[i] + ", "); 
    } 
} 
+0

Immer noch ein abschließendes Komma – fafl

+1

ein Komma wird benötigt, bevor "und" – abhinav

+0

Sieht komisch aus, aber Sie haben Recht – fafl

0

Ausgang:

The unsorted list is: 67, 86, 78, 80, 56, 45, 24, 2, 67, and 98 

The sorted list is: 2, 24, 45, 56, 67, 67, 78, 80, 86, and 98 

Modified-Code (Integrated was @abhinav erwähnt):

public class Chpt7_Project { 
/** The method for sorting the numbers */ 
    public static void bubbleSort(int[] numbers) { 
     int temp; 
     for (int i = numbers.length - 1; i > 0; i--) { 
      for (int j = 0; j < i; j++) { 
       if (numbers[j] > numbers[j + 1]) { 
        temp = numbers[j]; // swap number[i] with number[j] 
        numbers[j] = numbers[j + 1]; 
        numbers[j + 1] = temp; 
       } 
      } 
      } 
     } 

    public static void main(String[] args) { // Test Method 

     System.out.print("The unsorted list is: "); 
     // Generate 10 random numbers between 1 and 100 
     int[] numbers = new int[10]; 
     for (int i=0;i<numbers.length;i++) { 
      numbers[i] = (int) (Math.random() * 100); 
      if(i== numbers.length-1) { 
       System.out.println("and "+numbers[i]); 
      } else { 
       System.out.print(numbers[i] + ", "); 
      } 
     } 
     System.out.println(); 
     bubbleSort (numbers); // numbers are sorted from smallest to largest 
     System.out.print("The sorted list is: "); 
     for (int i=0;i<numbers.length;i++) { 
      if(i== numbers.length-1) { 
       System.out.println("and "+numbers[i]); 
      } else { 
       System.out.print(numbers[i] + ", "); 
      } 
     } 
    } 
} 
Verwandte Themen