对不明白的问题感到抱歉。我想对字符数组执行所有操作(例如检索字符数组中的每个字符,查找字之间的空格,查找数组的结尾等)。在C和C ++我可以使用循环语句遍历整个数组(逐个字符)。但我无法在java中执行此操作。要做到这一点,我被迫使用toCharArray()方法或charAt()方法。此处有任何其他方法逻辑?更具体的是有没有办法将String转换为字符数组,而不使用任何( ANY !!!! )内置方法(ieAPI)?
答案 0 :(得分: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
答案 1 :(得分: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);
}
}
答案 2 :(得分: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));