黑马程序员技术交流社区
标题:
判断一个字符串是否是对称字符串,代码有何问题?
[打印本页]
作者:
xiaobo
时间:
2014-5-30 10:09
标题:
判断一个字符串是否是对称字符串,代码有何问题?
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String st= sc.next();
int l =st.length();
int i;
boolean equally = true;
for (i=0;i<=l/2 ;i++ ) {
if(st.charAt(i) != (st.charAt(l-i-1))){
equally=false;
break;
}
}
System.out.println(equally);
}
}
复制代码
作者:
张百振
时间:
2014-5-30 10:29
package Chp13;
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String st = sc.nextLine();
int l = st.length();
int i;
boolean equally = true;
for (i = 0; i <= l / 2; i++) {
if (st.charAt(i) != (st.charAt(l - i - 1))) {
equally = false;
break;
}
}
System.out.println(equally);
}
}
复制代码
试了一下,貌似没有问题啊?
作者:
Hi天天向上
时间:
2014-5-30 11:01
没问题吧
作者:
TS__likewise
时间:
2014-5-30 11:07
for循环哪里应该是<而不是<=吧
作者:
黎志勇
时间:
2014-5-30 11:18
for循环里面的判断条件应该是 i<l/2 而不是 i<=l/2,
如果太抽象,搞不懂的话,拿不住用什么哪个的时候,可以自己拿对奇偶数来试试,
比如i是5的话,各个下标是 0,1,2,3,4 ; 5/2 就是 2,所以测试0和1就可以了,
6的话,下标是0,1,2,3,4,5;6/2是3,测到2就行,
所以用 i<l/2 。
作者:
superob123
时间:
2014-5-30 11:18
代码可以的,但是可以在这里加一下。
String st= sc.next();
复制代码
改成String st=sc.next().trim();把前后的空格都去掉。
这样会好一点
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2