不许用中间变量,把String ABCDE 倒转(java实现),网上给的答案好像行不通!求高手指教。
答案:6 悬赏:0
解决时间 2021-01-11 05:53
- 提问者网友:几叶到寒
- 2021-01-10 22:23
不许用中间变量,把String ABCDE 倒转(java实现),网上给的答案好像行不通!求高手指教。
最佳答案
- 二级知识专家网友:平生事
- 2021-01-10 22:58
看看这样可以么?
不用中间变量,会有点繁琐:
public class StringDemo {
public static void main(String[]args) {
String str="ABCD";
for (int i = str.length()-1; i >=0; i--) {
str+=String.valueOf(str.charAt(i));
}
str=str.substring("ABCD".length(), str.length());
System.out.println(str);
}
}追问把"ABCD".length()改为楼下的str.length()/2就更合理啦!我已经试过啦!没有问题,再次感谢!
再问你几个main函数为必须啥是static的?类是怎样加载的?多态性的具体体现?追答main是程序的入口,static告诉编译器调用该方法,不需要创建实例就可以运行
类的加载方式是按需加载的,既要用到就加载,而且只加载一次
多态性的具体表现在子类方法的行为功能行为的多样性上,多态性指的就是父类的某个方法被子类重写,而子类重写产生了各自的功能行为
以上只是个人观点,谢谢
不用中间变量,会有点繁琐:
public class StringDemo {
public static void main(String[]args) {
String str="ABCD";
for (int i = str.length()-1; i >=0; i--) {
str+=String.valueOf(str.charAt(i));
}
str=str.substring("ABCD".length(), str.length());
System.out.println(str);
}
}追问把"ABCD".length()改为楼下的str.length()/2就更合理啦!我已经试过啦!没有问题,再次感谢!
再问你几个main函数为必须啥是static的?类是怎样加载的?多态性的具体体现?追答main是程序的入口,static告诉编译器调用该方法,不需要创建实例就可以运行
类的加载方式是按需加载的,既要用到就加载,而且只加载一次
多态性的具体表现在子类方法的行为功能行为的多样性上,多态性指的就是父类的某个方法被子类重写,而子类重写产生了各自的功能行为
以上只是个人观点,谢谢
全部回答
- 1楼网友:平生事
- 2021-01-11 04:21
StringBuffer里面有一种静态方法的啊 可以倒过来的,你在API里面可以找到的
- 2楼网友:末日狂欢
- 2021-01-11 03:00
new StringBuffer("ABCDE").reverse()
楼上说的很对! 不过不是静态
改一下1、2楼的程序
String s="ABCDE";
for(int i=s.length();i>0;)s+=s.charAt(--i);
s=s.substring(s.length()/2);
楼上说的很对! 不过不是静态
改一下1、2楼的程序
String s="ABCDE";
for(int i=s.length();i>0;)s+=s.charAt(--i);
s=s.substring(s.length()/2);
- 3楼网友:末日狂欢
- 2021-01-11 02:35
public class A {
public static void main(String[] args) {
String a = "ABCDE";
StringBuilder str = new StringBuilder(a);
System.out.println(str.toString());
str.reverse();
System.out.println(str.toString());
}
}追问首先感谢你们让我知道了StringBuffer的这个巧妙地逆序方法,但我要的是实际的算法过程。
public static void main(String[] args) {
String a = "ABCDE";
StringBuilder str = new StringBuilder(a);
System.out.println(str.toString());
str.reverse();
System.out.println(str.toString());
}
}追问首先感谢你们让我知道了StringBuffer的这个巧妙地逆序方法,但我要的是实际的算法过程。
- 4楼网友:举杯邀酒敬孤独
- 2021-01-11 01:32
你好,倒转了之后是赋给另一个String呢,还是打印出来?
- 5楼网友:神鬼未生
- 2021-01-11 00:36
这么简单的.
public static void main(String[] args) {
String abc="ABCDE";
for(int i=abc.toCharArray().length-1; i>=0; i--){
abc+=abc.toCharArray()[i];
}
abc=abc.substring(abc.length()/2,abc.length());
System.out.println(abc);
}
public static void main(String[] args) {
String abc="ABCDE";
for(int i=abc.toCharArray().length-1; i>=0; i--){
abc+=abc.toCharArray()[i];
}
abc=abc.substring(abc.length()/2,abc.length());
System.out.println(abc);
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯