-5

不明な質問で申し訳ありません。文字配列で実行できるすべての操作を実行したいのですが(文字配列内の各文字の取得、単語間のスペースの検索、配列の末尾の検索など)。C および C++ ではできますループステートメントを使用して配列全体を(文字ごとに)トラバースしますが、Javaでそれを行うことはできません。これを行うには、toCharArray()メソッドまたはcharAt()メソッドを使用する必要があります。これとは別に、他のロジックはありますか?より具体的には、メソッド(ieAPI)に組み込まれたANY( ANY!!!! )を使用せずに、文字列を文字配列に変換する方法はありますか?

4

3 に答える 3

3

charAt()を使用しないことが唯一の制約である場合は、toCharArray()

String hello = "Hello dummy, why can't I use charAt";

char[] letters = hello.toCharArray();

// traverse array

編集:スペースを見つけるには

if (hello[i] == ' ')

編集:文字列のトラバース

character array(such as retrieving each character in character array,finding spaces between words,finding end of array,etc

// traverses through every character in String
for (int i = o; i <hello.length(); i++){
    char c = hello.charAt(i);  
    System.out.println(c); // prints out every char of string

    if (Charcter.isWhiteSpace(hello.charAt(i)){ // checks if char is white space
        // do something
    }

    if (c == ' ') {  // checks if char is whitespace
        // do something
    }
}

// last letter
char c = hello.charAt(hello.length() - 1);

String使用可能なすべてのメソッドを確認するには、Java のドキュメントを実際に確認する必要があります。Characterクラスのjavadocsもチェックしてください

于 2013-11-10T18:32:40.020 に答える
0

getBytes()またはを使用して、文字列の生の文字を取得できますtoCharArray()

String string = "lorem ipsum";
byte[] bytes = string.getBytes();

for(int i = 0; i < bytes.length; i++){
    if(bytes[i] == 0x20){ // ASCII code of space
        System.out.println("Found space at index "+i);
    }
}
于 2013-11-10T18:36:44.880 に答える
0

あなたの質問は非常に漠然としています。charAt() メソッドを使用せずに文字列の最後の文字を見つけたいと想定しています。

    String example = "I like Java";
    int size = example.length(); //gives the length of the string

    //cuts the string for the last char
    String lastChar = example.subString((size-2), (size-1)); 
于 2013-11-10T18:56:10.297 に答える