-2

可能的重复:
Java 中的反向“Hello World”

如何打印字符串的反面?

string s="sivaram"; 

不使用字符串处理函数

4

5 回答 5

3

在 Java 中访问 String 内容的所有函数都是 String 类的成员,因此都是“字符串函数”。因此,您所写问题的答案是“无法完成”。

于 2012-07-02T17:31:13.713 回答
3

假设对您的问题进行了严格解释并且您不能使用 String / StringBuilder 类提供的任何方法(我认为这不是本意),您可以使用反射直接访问 char 数组:

public static void main(String[] args) throws ParseException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
    String s = "abc";
    Field stringValue = String.class.getDeclaredField("value");
    stringValue.setAccessible(true);
    char[] chars = (char[]) stringValue.get(s);

    //now reverse
}
于 2012-07-02T17:38:19.787 回答
0

with out using the string handling functions

当然。获取底层char[],然后使用标准 C 风格的字符反转,然后String从反转构建一个新的char[]

char[] chars = s.toCharArray();
//Now just reverse the chars in the array using C style reversal  
String reversed = new String(chars);//done

我不会对此进行编码,因为这绝对是家庭作业。但这足以让你开始

于 2012-07-02T17:32:11.833 回答
-1
public static void main(String args[]){
    char[] stringArray;
    stringArray = s.toCharArray();

    for(start at end of array and go to beginning)
        System.out.print( s.charAt( i));
}
于 2012-07-02T17:32:27.560 回答
-1

不可能不使用任何字符串函数,我有一个只使用两个的代码......

public String reverseString(String str)
{
    String output = "";
    int len = str.length();
    for(int k = 1; k <= str.length(); k++, len--)
    {
        output += str.substring(len-1,len);
    }
    return output;
}
于 2018-11-03T16:13:04.923 回答