All the other answers are bypassing the use of String methods by using other classes, such as StringBuilder or Scanner. However, they are still using String methods, albeit indirectly, because these other classes themselves use String methods. My solution is a bit "naughty" and jdk-specific, but at least it doesn't use any String methods at all:
String s = "hello";
Class<String> c = (Class<String>) Class.forName("java.lang.String");
Field f = c.getDeclaredField("value");
f.setAccessible(true);
char[] array = (char[]) f.get(s);
... and then do your processing entirely on the array.
See, no String methods used! ;-)