it-swarm.com.de

Wie drucke ich die Ergebnisse eines Arrays in einer Zeile?

Ich würde gerne wissen, ob mir jemand helfen könnte, zu verstehen, warum mein Array-Ergebnis nicht in einer einzigen Zeile steht. Die Ergebnisse des folgenden Codes werden gedruckt als:

[
1
2
3
4
5
6
7
8
9
10
]

Anstelle von [1 2 3 4 5 6 7 8 9 10].

Irgendwelche Gedanken darüber, was ich falsch mache, um die Ergebnisse nicht online zu bringen?

class RangeClass {

    int[] makeRange(int lower, int upper) {
      int arr[] = new int[ (upper - lower) + 1 ];

      for(int i = 0; i < arr.length; i++) {
        arr[i] = lower++;
      }
      return arr;
    }

    public static void main(String arguments[]) {
    int theArray[];
    RangeClass theRange = new RangeClass();

    theArray = theRange.makeRange(1, 10);
    System.out.println("The array: [ ");
    for(int i = 0; i< theArray.length; i++) {
      System.out.println(" " + theArray[i] + " ");
    }
    System.out.println("]");
    }
}   
8
Cleiton Lima

Sie können eine kürzere Version verwenden:

int theArray[] = {1, 2, 3};
System.out.println(Java.util.Arrays.toString(theArray));
30

Ersetzen Sie System.out.println durch System.out.print wie folgt:

System.out.print("The array: [ ");
for(int i = 0; i< theArray.length; i++) {
  System.out.print(" " + theArray[i] + " ");
}
System.out.println("]");

println fügt am Ende des gerade gedruckten Dokuments ein Trennzeichen ein.

5
DeadlyJesus

Verwenden Sie System.out.print anstelle von System.out.println

3
Juned Ahsan

int [] arr = {3, 4, 1, 7, 8, 5, 4, 11, 33, 21, 17, 15};

System.out.print (Arrays.toString (arr) .replace ("[", ""). Replace ("]", "") .replace (",", ""));

3
Kangkan Lahkar

Sie können dies in einer Zeile mitJava 8durchführen.

Angenommen, Sie haben diese Liste von Ganzzahlen

List<Integer> lst = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8 ,9);

Sie können auf diese Weise alle Objekte in einer Aufnahme drucken

lst.forEach(nb -> System.out.print(nb + " "));

Oder auf diese Weise

lst.forEach(System.out::print);

Ergebnis

1 2 3 4 5 6 7 8 9
3
Jad Chahine
for(int i = 0 ; i < theArray.length;i++){
 if(i==0)
   System.out.print("["+theArray[i]);
 else if(i==theArray.length-1)
   System.out.print(","+theArray[i]+"]");
 else
   System.out.print(","+theArray[i]);
}

Ausgabe: (zum Beispiel)

[1,2,5,3,7] 

1
Azad

Nehmen Sie einfach eine kleine Änderung an Ihrem Code vor:

class ArrayDemo {

  int[] makeRange(int lower, int upper) {
    int arr[] = new int[ (upper - lower) + 1 ];

    for(int i = 0; i < arr.length; i++) {
      arr[i] = lower++;
    }
    return arr;
  }

  public static void main(String arguments[]) {
    int theArray[];
    ArrayDemo theRange = new ArrayDemo();

    theArray = theRange.makeRange(1, 10);
    System.out.print("The array: [ ");  //Remove println here
    for(int i = 0; i< theArray.length; i++) {
      System.out.print(" " + theArray[i] + " "); //Same here
    }
    System.out.println("]");
  }
}

Ausgabearray: [ 1 2 3 4 5 6 7 8 9 10 ]

1
Pranav

System.out.println ändert die Zeile nach dem Ausdruck der Anweisung. Deshalb kommen Ihre Array-Elemente nicht in einer Zeile. Versuchen Sie es stattdessen mit System.out.print, und das würde den Trick tun.

0
roger_that

Verwenden Sie System.out.print () an Stelle von System.out.println () im gesamten Code, da , Wenn Sie System.out.println () verwenden, nach unserer Ausgabe ein neues Zeilenzeichen gedruckt wird Konsole bei jedem Aufruf, aber wenn Sie System.out.print () verwenden, wird gedruckt, was Sie als Parameter übergeben. Ändern Sie also Ihren Code in

class RangeClass {
    int[] makeRange(int lower, int upper) {
        int arr[] = new int[ (upper - lower) + 1 ];
        for(int i = 0; i < arr.length; i++) {
            arr[i] = lower++;
        }
        return arr;
    }

    public static void main(String arguments[]) {
        int theArray[];
        RangeClass theRange = new RangeClass();

        theArray = theRange.makeRange(1, 10);
        System.out.print("The array: [ ");
        for(int i = 0; i< theArray.length; i++) {
            System.out.print(" " + theArray[i] + " ");
        }
        System.out.print("]");
    }
}
0
Kunal Kishore