2016-10-16 6 views
0

私はArrayListを持っており、最初の要素を取得しようとしています。私はnameofarray.get(0);を使用しています。印刷すると、最初の要素ではなく配列全体が印刷されます。私は最初の要素を取得する必要がありますが、最初の要素だけでなく、配列全体を取得する理由について混乱しています。どんな助けでも感謝しています!ArrayListの取得メソッド

import java.util.ArrayList; 
import java.util.Scanner; 

public class Driver { 

public static void main(String[] args) { 
    Scanner k = new Scanner(System.in); 
    String msb; 
    String convertedBinary; 
    ArrayList<String> binaryInput = new ArrayList<String>(); 
    System.out.println("Press 1 to use the Binary Converter: Press 2 to use the Decimal Converter:"); 
    int userChoice = k.nextInt(); 

    if (userChoice == 1) { 
     System.out.println("Welcome to the Binary Converter!"); 
     System.out.println("Please enter a 10 bit binary number"); 
     // Adding the input to the ArrayList 
     binaryInput.add(k.next()); 
     msb = binaryInput.get(0); 
     System.out.println(msb); 

    } 
} 

}

+0

現在および予想される出力を貼り付けてください。 –

+0

私は "00000"を入力し、 "0"を取得したいと思います。私はこれを探しています。後で私のプログラムでは、入力の最初の数字で何かをやるつもりです。 – JavaGuy1

+0

これは現在印刷されていますか? –

答えて

0

私はあなたがそれが入力のチャンクを追加してリストに追加したときにScanner.next()は必ずしもそう一度に一つの文字を返すとは思いません。したがって、リストに挿入する前に返されたテキストを手動で分割する必要があるかもしれません。

"java.util.Scanner.next()メソッドは、このスキャナから次の完全なトークンを見つけて返します。完全なトークンの前に、デリミタパターンに一致する入力が続きます。 here

+0

ああ大丈夫、これは私がしたことです。 – JavaGuy1

+0

'userInput = k.next(); \t \t \t msb = userInput.charAt(0); \t \t \t System.out.println(msb); \t \t \t binaryInput.add(userInput); ' – JavaGuy1

0

コードでは、配列リストに要素を1つだけ追加します。また、ループを使用してarraylistの値を反復処理する必要があります。

System.out.println("binaryInput has: " + binaryInput.size()+ " values"); 

for(int i=0;i<binaryInput.size();i++){ 
    System.out.println(binaryInput.get(i)); 
} 
関連する問題