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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package com.itheima;
  2. /**
  3. * 3、判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
  4. * @author Vinvent Ge
  5. */
  6. import java.util.Scanner;

  7. public class Text3 {

  8.         public static void main(String[] args) {
  9.                 Scanner input = new Scanner(System.in);
  10.                 System.out.println("输入字符串");
  11.                 String str = input.next();     //输入字符串
  12.                 if(panduan(str))           //调用panduan()
  13.                 {
  14.                         System.out.println(str + ":" +"是对称字符串");
  15.                 }else
  16.                 {
  17.                         System.out.println(str + ":" +"不是对称字符串");
  18.                 }
  19.                 //aa();
  20.         }
  21.         public static boolean panduan(String str) {
  22.                 for(int i=0;i<str.length()/2;i++)     //for循环语句,遍历一半长度
  23.                 {
  24.                         if(str.charAt(i)!=(str.charAt(str.length()-i-1)))//判断首尾对称位置字符是否相同
  25.                         {
  26.                         return false;
  27.                         }else
  28.                         {
  29.                         return true;
  30.                         }
  31.                                
  32.                 }
  33.                 return false;
  34.         }
复制代码

       

5 个回复

倒序浏览
这return这样反值可以吗
  1. for(int i=0;i<str.length()/2;i++)     //for循环语句,遍历一半长度
  2.                 {
  3.                         if(str.charAt(i)!=(str.charAt(str.length()-i-1)))//判断首尾对称位置字符是否相同
  4.                         {
  5.                         return false;
  6.                         }else
  7.                         {
  8.                         return true;
  9.                         }
  10.                                 
  11.                 }
  12.                 return false;
复制代码
回复 使用道具 举报
那你i怎么加
回复 使用道具 举报
判断函数改成这样

  1.         public static boolean panduan(String str) {
  2.                 for(int i=0;i<str.length()/2;i++)     //for 循环语句,遍历一半长度
  3.                 {
  4.                         if(str.charAt(i)!=(str.charAt(str.length()-i-1)))// 判断首尾对称位置字符是否相同
  5.                         {
  6.                              return false;
  7.                         }         
  8.                 }
  9.                 return true;
  10.         }
复制代码
回复 使用道具 举报

我好像搞明白了:D,我是跟另一种搞混了,完全两种思想啊
  1. public static void aa(){
  2.                 String str = "abba";
  3.                 int ts = 0;
  4.                 for(int i=0;i<str.length()/2;i++){
  5.                         if(str.charAt(i) == str.charAt(str.length()-1-i)){
  6.                                 ts++;
  7.                         }
  8.                 }
  9.                 if(ts == str.length()/2){
  10.                         System.out.println("ok");
  11.                 }else{
  12.                         System.out.println("no");
  13.                 }
  14.         }
复制代码
回复 使用道具 举报
DemoJameson 发表于 2015-7-27 17:47
判断函数改成这样

哦  我知道啦,有不相同就返回false,否则遍历完返回TRUE
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马