2017-01-14 6 views
0

現在、私は配列の使用について少し助けを求めています。 Java言語についてのかなり初心者なので、貧しいエチケットをプログラミングの形式に変えてください。私は、提供された答えに感謝します。さまざまなデータを含む配列の要素を読む

私の現在の配列との争いは、配列要素からデータを取得する方法です。現在、私はSystem.out.println(Arrays.toString(listarray))というメソッドを使用していますが、このメソッドの問題点はユーザーフレンドリーではなく、フォーマットすることができないということです。ですから、配列の要素からデータを取得し、それを任意のユーザが読むことができるようにする方法について助けを求めたいと思います。

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

} 
} 

コードが作業をしますが、私はデータをフォーマットする方法を知りたいのですが、単一の要素からではなく、すべての要素:ここ

は、私が利用していたコードです。または でもできます。ありがとうと私はこの質問を読んだ時間を感謝します。

+0

'listarray [position]'は、リストの個々のオブジェクトにアクセスする方法です。 –

+1

あなたの質問を明確にするために、配列要素からデータを取得すると、配列の特定の位置にある要素を意味するのでしょうか?たとえば、5番目の要素ですか? – phss

+0

微調整出力が必要な場合は、別の方法で行う必要があります。 Arrays.toString()は、配列内の各要素のtoStringを呼び出すだけです。 – efekctive

答えて

0

あなたは、あなたがそれを行うことができる方法である配列トラバースする場合: -

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

または

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

ありがとうございました!これはトリックを行うように見えました。私はあなたの答えを高く評価しています。それは私を殺していました。私がばかだと思ったように、とてもシンプルに思えました。ありがとう、もう一度、それは私の肌を救った。 –

+0

いいですよ:) –

4

を次の2つの質問があります。

  1. あなたはどのように参照番号配列要素?
  2. どのように出力をフォーマットしますか?

あなたは

String[10] names; 

のような配列を宣言するときに10個の文字列を保持することができ、配列を持っている、あなたは、5番目の要素(インデックスは0から始まり、その配列を覚える)を参照するには9.番号0〜使用するでしょう

names[4] 

参考にさまざまなことができます。等号の右側に置くと、その要素の値を別のものに代入しています。

currentName = names[4]; 

左側に置くと、その要素に何かが割り当てられます。

names[4] = "Michael"; 

そして、あなたはのprintln文でそれを置けば、それはprintlnの文は、その時点で物事を入れているところはどこでもへの出力値を、通常、コンソールは以下となります。

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

そんなに参照のため。また、配列の5番目の要素を参照している、または配列の指定された要素を参照しています。また、変数に数値を入れることができます。

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

注参照のこれらの用途のほとんどは、配列の要素の中で何かがあると仮定していること。何かがそこに割り当てられるまで、要素はnullです。

フォーマットするには、Format/Formatterクラスを見て、簡単なものを選択することをおすすめします。

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

をし、文字列のformat方法は、フォーマットの%sためnames[i]にあるものは何でも代用します:例として、あなたが持っている可能性があります。 int、double、日付の形式もあります。

詳しくは、Oracleチュートリアルon arraysおよびon manipulating Stringsを参照してください。

希望するもの

+0

有益な投稿ありがとう!私は間違いなくそれを念頭に置いていますが、それは私が元々望んでいたことをしていないようです。私のコミュニケーション上の欠陥である可能性が最も高い。ありがとう、それにもかかわらず!私はリンクを念頭に置いておきます。 –

+0

ええ、あなたはあなたが持っていた問題の一部として配列全体を反復することについて言及したことはありません。 – arcy

+0

もう一度、それは私の部分でちょうど誤ったコミュニケーションだった。あなたのことを忘れてしまいました。良い一日を! –

関連する問題