黑马程序员技术交流社区
标题:
Java基础中的基础
[打印本页]
作者:
原子弹
时间:
2014-3-25 23:52
标题:
Java基础中的基础
判断一个字符串是否是对称的字符串 的代码 我是这样做的但是老是true 求大神指点
public static void main(String[] args) {
// 声明一个字符串
String string = "baaa";
System.out.println(method(string));
}
//定义一个返回值是Boolean类型的方法,实现判断字符串是否对称的功能
public static boolean method(String s){
// 把字符串转换成字符数组
char[] ch = s.toCharArray();
// 利用循环进行判断
for(int i = 0,j = ch.length-1;i<j;i++,j--){
// 进行判断
if(ch[i] == ch[j]){
return true;
}
}
return false;
}
作者:
630681386@qq.co
时间:
2014-3-26 00:21
package com.itheima;
import java.util.Scanner;
public class Test1 {
/**
* 1.判断一个字符串是否是对称字符串
*例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
*思路:先将字符串拆分为一个字符数组
*再通过循环判断这个数组的第一个元素和最后一个元素是否相等,然后依次判断第二个和到数第二个
* ......
*/
public static void main(String[] args) {
//从控制台结收用户输入的一个字符串
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str=sc.next();
//将字符串转换为一个字符数组
char [] charstr=str.toCharArray();
int j=1;//定义一个变量,赋值为1
for(int i=0;i<charstr.length;i++)//循环字符数组
{
if(charstr[i]==charstr[charstr.length-j])//当数组的第一个元素和最后一个元素相等的时候
{
if(i==j||i+j==charstr.length||j==charstr.length)//判断数组是否循环到最后
{
System.out.println("这个字符串是对称字符串");//打印输出是对称字符串
return;//结束程序
}
}
j++;//变量自加,判断第二位,和倒数第二位字符
}
//最后输出不是对称字符串
System.out.println("这个字符串不是对称字符串");
}
}
复制代码
曾经是我的基础测试题
作者:
tcny
时间:
2014-3-26 00:42
本帖最后由 tcny 于 2014-3-26 00:43 编辑
public static void main(String[] args) {
// 声明一个字符串
String string = "baaa";
System.out.println(method(string));
}
//定义一个返回值是Boolean类型的方法,实现判断字符串是否对称的功能
public static boolean method(String s){
// 把字符串转换成字符数组
char[] ch = s.toCharArray();
// 利用循环进行判断
for(int i = 0,j = ch.length-1;i<j;i++,j--){
// 进行判断
if(ch[i] == ch[j]){
return true;
}//问题出在这里,只要有一个相等那么就返回true了,你应该判断if(ch[i] != ch[j] { return false;}因为只要有一个不相等,那就不对称
}
return false//同时这里修改为return true; 因为上边比较完所有的之后如果还没找到不对称的话那就是都对称了。
}
复制代码
作者:
原子弹
时间:
2014-3-26 00:43
:handshake
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2