我已经做了一个简单的代码来反转Java中的字符串而不使用内置函数。但我观察到,与C不同,我们可以使用指针在同一个变量中获得更改的字符串,由于缺少指针概念,因此在Java中这是不可能的。所以请告诉我在Java中使用main函数取回字符串的替代方法。
class RevFun{
public void revFun(StringBuilder str)
{
for(int i=str.length()-1;i>=0;i--)
{
System.out.println(str.charAt(i));//Here I am able to print it!
}
return;
}
}
class Rev
{
public static void main(String args[])
{
RevFun rev = new RevFun();
StringBuilder str = new StringBuilder("Hello");
System.out.println("Before reversing : "+str);
rev.revFun(str);
System.out.println("After reversing : "+str);//Here what should I do to get the reversed string from RevFun
}
}
答案 0 :(得分:0)
给出第二种方法returntype String
public static String handleString(String input){
// modify input
input += " test";
return input;
}
并使用或指定主要内容中的(新)值:
public static void main(String[] args){
String a = "hello";
String b = handleString(a);
System.out.println(a);
System.out.println(b);
}
另一种方法是让你的变量在类级别上:
static String test = "hi";
public static void main(String[] args){
System.out.println(test);
handleString();
System.out.println(test);
}
public static void handleString(){
test += " and bye";
}
这两种方法都可以访问变量,因此您甚至不需要将其作为参数传递。
答案 1 :(得分:0)
在Java Strings
中不可变。这意味着您无法更改它们。您可以阅读更多here
因此,如果您想“操纵”String
,则必须返回一个新对象