从键盘输入一个单词,判断它是否是回文单词。
回文单词:单词的首末尾相同即为回文单词。
//导入Scanner包
import java.util.Scanner;
//创建类
public class HuiWen{
//创建main方法
public static void main(String [] args){
//导入Scanner包,创建键盘扫描器,
Scanner sc = new Scanner(System.in);
//创建控制台提示语
System.out.println("请输入一个英文单词:");
//接收输入的单词
String word = sc.next();
//先假定这个输入的单词是回文单词
boolean hw = true;
//把String类型的数据转换成char类型
char [] w = word.toCharArray();
//遍历判断单词的首尾是否相同
for(int left = 0,right = w.length-1;left<right;left++, right++){
//判断:如果单词左边不等于单词右边
if(w[left] != w[right]){
//返回错误
hw = false;
//跳出循环
break;
}
}
判断并打印结果
if(hw){
//上面已经假定这个单词是回文单词,判断通过之后直接打印输出
System.out.println(word+"是回文单词");
}else{
//如果没有通过上面回文单词的判断则输出不是回文单词
System.out.println(word+"不是回文单词");
}
}
}
代码编写思路:
问题中要求需要从控制台输入一个单词,所以就需要创建一个键盘扫描器,然后在定义一个String类型的word来接收输入的内容。
先假定输入的单词就是一个回文单词,再将输入的单词转换成char类型,String类型存储的数据是一个字符串,而Char类型存储的是单个字符,便于比较。
使用for循环确定最左边与最右边字母的位置,左边与右边的字母互相比较。】
使用if循环判断单词不是回文单词的时候返回false。
最后使用if循环判断并打印结果,如果结果为true打印输出结果,否则输出另一条结果。