A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.util.Scanner;

  2. public class Test2 {
  3. public static void main(String[] args) {
  4.                
  5.                 Scanner sc     = new  Scanner(System.in);
  6.       
  7.                 System.out.println("请输入一个字符串");
  8.       
  9.                 String st= sc.next();
  10.       
  11.                 int l =st.length();
  12.       
  13.                 int i;
  14.          
  15.         boolean equally = true;
  16.       
  17.         for (i=0;i<=l/2 ;i++ ) {
  18.             
  19.                 if(st.charAt(i) != (st.charAt(l-i-1))){
  20.                
  21.                         equally=false;
  22.                
  23.                         break;
  24.             }
  25.       
  26.         }
  27.       
  28.         System.out.println(equally);
  29.       
  30.         }

  31. }
复制代码


5 个回复

倒序浏览
  1. package Chp13;

  2. import java.util.Scanner;

  3. public class Test2 {
  4.         public static void main(String[] args) {
  5.                 Scanner sc = new Scanner(System.in);
  6.                 System.out.println("请输入一个字符串");
  7.                 String st = sc.nextLine();
  8.                 int l = st.length();
  9.                 int i;
  10.                 boolean equally = true;
  11.                 for (i = 0; i <= l / 2; i++) {
  12.                         if (st.charAt(i) != (st.charAt(l - i - 1))) {
  13.                                 equally = false;
  14.                                 break;
  15.                         }
  16.                 }
  17.                 System.out.println(equally);
  18.         }
  19. }
复制代码
试了一下,貌似没有问题啊?

回复 使用道具 举报
没问题吧
回复 使用道具 举报
for循环哪里应该是<而不是<=吧
回复 使用道具 举报
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 。
回复 使用道具 举报 1 0
代码可以的,但是可以在这里加一下。
  1.                 String st= sc.next();
复制代码

改成String st=sc.next().trim();把前后的空格都去掉。
这样会好一点
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马