2017-01-14 3 views
0

Ich bin derzeit auf der Suche nach ein wenig Hilfe bei der Verwendung von Arrays. Ein ziemlicher Neuling in der Sprache Java, also entschuldige die schlechte Etikette gegenüber dem Programmformat und ich bedanke mich für die Antworten.Lese ein Element eines Arrays, während es verschiedene Daten enthält

Mein aktueller Streit mit dem Array ist, wie Daten von einem Array-Element abgerufen werden. Zur Zeit verwende ich die Methode System.out.println (Arrays.toString (listarray)) aber das Problem mit dieser Methode ist, dass es nicht unbedingt benutzerfreundlich ist und es nicht formatiert werden kann (zu meinem kleinen Wissen). Also würde ich gerne fragen, wie man Daten von einem Element eines Arrays abruft und es so anordnet, dass es für jeden Benutzer lesbar ist. Hier

ist der Code, den ich verwende:

import java.util.Arrays; 
import java.util.Scanner; 

public class principal { 

public static void main(String[] args) { 
    Scanner input = new Scanner(System.in); 
    System.out.println("Array Example"); 
    String[] listarray = new String[10]; 
    int i = 0; 
    byte op;   
    do { 
    System.out.println("Select your option:"); 
    System.out.println("1-Add"); 
    System.out.println("2-Check"); 
    System.out.println("3-Change"); 
    op = input.nextByte(); 
     switch (op) { 
     case 1: 
      input.nextLine(); 
      System.out.println("First String:"); 
      String a1 = input.nextLine(); 
      System.out.println("Second String:"); 
      String a2 = input.nextLine(); 
      System.out.println("Third String:"); 
      String a3 = input.nextLine(); 
      System.out.println("(" + (i + 1) + "/10)"); 
      listarray[i] = a1 + a2 + a3; 
      i++; 
      break; 

     case 2: 
      System.out.println(Arrays.toString(listarray)); 
      break; 
     } 
    }while(op != 9); 

} 
} 

Während der Code funktioniert, ich würde gerne wissen, wie die Daten formatiert werden, und aus einem einzigen Elemente, nicht jedes Element. Oder sogar wenn ich kann. Danke und ich schätze den Zeitaufwand für das Lesen dieser Frage.

+0

'listarray [position]' ist einfach, wie Sie auf einzelne Objekte der Liste zugreifen können. –

+1

Um Ihre Frage zu klären, wenn Sie Fetch-Daten von einem Array-Element sagen, meinen Sie das Element an einer bestimmten Position im Array? Zum Beispiel das fünfte Element? – phss

+0

Wenn Sie eine fein abgestimmte Ausgabe wünschen, müssen Sie dies auf andere Weise tun. Arrays.toString() ruft toString für jedes Element im Array auf. – efekctive

Antwort

0

Wenn Sie das Array zu durchqueren wollen, das ist, wie Sie es tun können: -

for(int i = 0; i < listArray.length; i++) { 
    System.out.println(listArray[i]); 
} 

oder

for (String s : listArray) { 
    System.out.println(s); 
} 
+0

Vielen Dank! Dies schien den Trick zu machen. Ich weiß deine Antwort zu schätzen, es hat mich umgebracht und die Art, wie es so einfach zu sein schien, brachte mich dazu mich zu winden, als wäre ich ein Idiot. Danke, noch einmal, es hat meine Haut gerettet. –

+0

Gut es hat geholfen :) –

4

Sie haben zwei Fragen:

  1. How do you Referenz ein Array-Element?
  2. Wie formatieren Sie die Ausgabe?

Wenn Sie erklären, ein Array wie

String[10] names; 

Sie ein Array haben, die 10 Saiten halten kann, nummeriert 0 bis 9 das fünfte Element zu referenzieren (wir erinnern uns, dass die Array-Indizes bei 0 beginnen), Sie würde verwenden

names[4] 

Sie können verschiedene Dinge mit einer Referenz tun. Wenn Sie es auf die rechte Seite eines Gleichheitszeichens setzen, weisen Sie den Wert dieses Elements einem anderen Element zu.

currentName = names[4]; 

Wenn Sie es auf der linken Seite platzieren, weisen Sie diesem Element etwas zu.

names[4] = "Michael"; 

Und wenn Sie es in einer println Anweisung setzen, gibt er den Wert auf, wo die println Anweisung Dinge zu dieser Zeit, in der Regel die Konsole setzen:

System.out.println(names[4]); 

So viel zu Referenzen. Und so heißt es übrigens - Sie referenzieren das fünfte Element des Arrays oder Sie verweisen auf das angegebene Element des Arrays. Sie können auch die Zahl in einer Variablen setzen:

var i = 4; 
System.out.println[i]; 

Beachten Sie, dass die meisten dieser Verwendungen des Bezugs annehmen, dass es etwas in diesem Element des Arrays ist.Bis etwas dort zugewiesen ist, ist das Element eine Null.

Zum Formatieren empfehle ich, (sorgfältig) in die Format/Formatierer-Klassen zu schauen und einige einfache Dinge zu wählen, was Sie wollen. Als Beispiel könnten Sie haben:

String formatString = "The name is currently %s."; 
String outputString = String.format(formatString, names[i]); 

und format Methode String ersetzen wird, was für die %s im Format in names[i] ist. Es gibt auch Formate für Ints, Doubles und Dates.

Weitere Informationen finden Sie im Oracle-Lernprogramm on arrays und on manipulating Strings.

Hoffe, dass hilft

+0

Danke für die informative Post! Ich werde es mir auf jeden Fall merken, obwohl es anscheinend nicht das tut, was ich ursprünglich wollte. Höchstwahrscheinlich eine Störung meiner Kommunikation. Danke trotzdem! Ich werde die Links im Auge behalten. –

+0

Ja, Sie haben nie erwähnt, dass Sie das Array als Teil des Problems durchlaufen haben, das Sie hatten. – arcy

+0

Ja, noch einmal, es war nur Misskommunikation von meiner Seite. Entschuldige, dass du dich umsonst durch all diese Schwierigkeiten gebracht hast! Einen schönen Tag noch! –

Verwandte Themen