-5

对不起,不清楚的问题。事情是我想做所有可以在字符数组上完成的操作(例如检索字符数组中的每个字符,查找单词之间的空格,查找数组的结尾等)。在 C 和 C++ 中我可以使用循环语句遍历整个数组(逐个字符)。但我无法在 java 中执行此操作。为此,我被迫使用 toCharArray() 方法或 charAt() 方法。除此之外还有其他逻辑吗?更具体地说,有什么方法可以将字符串转换为字符数组,而不使用任何(任何!!!!)内置方法(ieAPI)?

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

您应该真正查看Stringjava 文档以查看其所有可用方法。甚至查看Character类 javadocs

于 2013-11-10T18:32:40.020 回答
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 回答
0

getBytes()您可以使用or获取字符串的原始字符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 回答