首先,你的问题本身存在问题,一个字符串完全可能又有数字又有文字。
你只能把字符串分解成字符String.toCharArray()
然后判断每个字符。每个字符可以根据asicc码来判断,或者通过楼上的Integer.isNaN()来判断是否数字。想判断是文字还是标点的话应该只有通过编码判断。