-1

account_numbersの配列があります。ユーザーからの入力を受け取り、その入力が配列に存在するかどうかを確認しようとしています。パラメータにforループを含むifステートメントを試してきましたが、それはやり過ぎだと感じています。私は何かが足りないのですか?

4

4 に答える 4

4

Arrays ユーティリティ クラスとその単純な BinarySearch アルゴリズムを使用できます。

Arrays.sort(array);  // must sort before next line
boolean found = Arrays.binarySearch(array, someValue) > -1;
于 2012-12-06T04:44:50.767 に答える
2

リストを使用せずに配列をトラバースしたい場合は、次の for ループの基本構造を使用できます。

boolean validInput = false;
for (int i = 0; i < account_numbers.length; i++) {
    if (account_numbers[i] == userInput) {
        validInput = true;
        break;
    }
}
于 2012-12-06T04:23:41.243 に答える
1

最も簡単な方法は、配列をリストに変換し、次のようcontainsにメソッドを使用することです。

    Long[] account_numbers = new Long[SIZE];//Your existing array

    //get the list from array
    List<Long> accountNumbers = Arrays.asList(account_numbers);

    //check the desired account exist or not
    Long accountToSearch= new Long("12345");
    if(accountNumbers.contains(accountToSearch)){
        //account exist
    }
于 2012-12-06T04:14:51.010 に答える