2017-01-14 1 views
0

Je suis actuellement à la recherche d'un peu d'aide pour l'utilisation des tableaux. Tout à fait un débutant sur le langage Java, excusez donc l'étiquette pauvre vers le format de programmation et je remercie en avant pour toutes les réponses fournies.Lire un élément d'un tableau tout en contenant diverses données

Mon problème avec le tableau est de savoir comment récupérer des données à partir de n'importe quel élément de tableau. Actuellement, j'utilise la méthode System.out.println (Arrays.toString (listarray)) mais le problème avec cette méthode est qu'elle n'est pas nécessairement conviviale et qu'elle ne peut pas être formatée (à ma connaissance). Donc, je voudrais demander de l'aide sur la façon d'extraire des données d'un élément d'un tableau et de le mettre de manière à ce qu'il soit lisible par un utilisateur donné.

Voici le code que je suis en utilisant:

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

} 
} 

Alors que le code fonctionne, je voudrais savoir comment formater les données, et à partir d'un seul élément, et non pas tous les éléments. Ou même si je peux. Merci et j'apprécie le temps passé à lire cette question.

+0

'listarray [position]' est simplement comment vous pouvez accéder à des objets individuels de la liste. –

+1

Pour clarifier votre question, quand vous dites récupérer des données d'un élément de tableau, voulez-vous dire l'élément à une position donnée dans le tableau? Par exemple, le 5ème élément? – phss

+0

Si vous voulez une sortie affinée, vous devrez le faire d'une autre manière. Arrays.toString() appelle simplement àString de chaque élément du tableau. – efekctive

Répondre

0

Si vous voulez traverser le tableau qui est la façon dont vous pouvez le faire: -

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

ou

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

Merci beaucoup! Cela semblait faire l'affaire. J'apprécie votre réponse à ce sujet, ça me tue et la façon dont cela semblait si simple m'a fait me tortiller comme si j'étais un idiot. Merci encore une fois, ça m'a sauvé la peau. –

+0

Bon ça a aidé :) –

4

Vous avez deux questions:

  1. Comment avez-vous référence un élément de tableau?
  2. Comment formatez-vous la sortie?

Lorsque vous déclarez un tableau comme

String[10] names; 

Vous avez un tableau qui peut contenir 10 chaînes, numérotées de 0 à 9. Pour référencer le cinquième élément (rappelons que les indices de tableau commencent à 0), vous utiliserait

names[4] 

Vous pouvez faire différentes choses avec une référence. Si vous le placez du côté droit d'un signe égal, vous affectez la valeur de cet élément à autre chose.

currentName = names[4]; 

Si vous le placez sur le côté gauche, vous affectez quelque chose à cet élément.

names[4] = "Michael"; 

Et si vous le mettez dans une déclaration println, il affichera la valeur à chaque fois que la déclaration println met les choses à ce moment-là, généralement la console:

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

Tant pour les références. Et, incidemment, c'est ce que l'on appelle - vous référencez le 5ème élément du tableau, ou vous faites référence à l'élément indiqué du tableau. Vous pouvez aussi mettre le numéro dans une variable:

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

Notez que la plupart de ces utilisations de la référence suppose qu'il ya quelque chose dans cet élément du tableau.Jusqu'à ce que quelque chose soit assigné, l'élément est nul. Pour formater, je recommande de regarder (soigneusement) dans les classes Format/Formatter et en choisissant quelques choses simples pour faire ce que vous voulez. À titre d'exemple, vous pourriez avoir:

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

et format String méthode remplacera tout ce qui est en names[i] pour le %s dans le format. Il y a aussi des formats pour ints, doubles et dates. Pour plus d'informations, consultez le tutoriel Oracle on arrays et on manipulating Strings.

Espérons que ça aide

+0

Merci pour le poste informatif! Je vais certainement le garder à l'esprit, bien qu'il ne semble pas faire ce que je voulais initialement. Très probablement une faute sur ma communication. Merci, néanmoins! Je garderai les liens en tête. –

+0

Oui, vous n'avez jamais mentionné itération à travers le tableau dans le cadre du problème que vous aviez. – arcy

+0

Oui, une fois de plus, c'était juste une mauvaise communication de ma part. Désolé de vous avoir mis à travers tous ces problèmes pour rien! Bonne journée! –