为了账号安全,请及时绑定邮箱和手机立即绑定

回文数的算法

import java.util.Scanner;


public class E {


public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.print("请输入一个整数:");

String num = input.next();

int i = num.length();

int j = 0;

while (j <= (i / 2) - 1 && num.charAt(j) == num.charAt(i - j - 1))

j++;

{

if (j == i / 2) {

System.out.println("是");

} else {

System.out.println("不是");

}

}

}

}

请问一下老师 在这组代码 变量  int  j = 0 ; while 后面 怎么理解? 如果能每句都帮我注释一下就好了! 非常感谢

正在回答

4 回答

谢谢.

0 回复 有任何疑惑可以回复我~

import java.util.Scanner;


public class asd {


public static void main(String[] args) {

Scanner input = new Scanner(System.in);

//这个题目就是判断 回文串 利用charAt就能够做到 

String str= input.next();



int begin=0,end=str.length()-1;//定义两个变量begin和end 分别区定位 首尾字符的位置

int bool=1;// bool来判断是否为回文串 做一个标记

/*利用for循环更好的理解一些  判断循环次数  比如输入字符串 "123" 那么字符串长度就为 3,

3/2=1(整除) 也就是循环一次 进行一次判断 判断 1和3是否相等 "1221" 4/2=2 进行两次判断   判断

1和1 2和2 是否相等 这就是循环语句里面要做的事情*/

for(int i=1;i<=str.length()/2;i++)

{   

if(str.charAt(begin)!=str.charAt(end))//如果首尾不相等这bool=0 退出循环

{   

bool=0;

break;

}

begin++; //改变begin 和end 去判断下一组 charat 是否相等

end--;

}

    if(bool==0)

    {System.out.println("no");}

    else

    {System.out.println("yes");}

    }

}


0 回复 有任何疑惑可以回复我~
#1

囚三怒

希望对你有些帮助
2016-12-04 回复 有任何疑惑可以回复我~

我给你写一个好理解的行么 总感觉变量很乱 因为不是代码作者很难去理解 作者当时的想法 我就简单写一个吧

0 回复 有任何疑惑可以回复我~

= =这是谁写的啊

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1166432    人
  • 解答问题       17592    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

回文数的算法

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号