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