回文数
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字或字符串:");
String s = sc.next();
int leng = s.length();
for(int i=0;i<=leng/2;i++)
{
if(s[i]!= s[leng-i-1])
{
System.out.println("不是回文数.");
return;
}
System.out.println("是回文数");
}
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
表达式的类型必须是数组类型,但是它却解析为 String
表达式的类型必须是数组类型,但是它却解析为 String
语法错误,将“) 语句”插入到完整 BlockStatements 中
at 回文数.main(回文数.java:38)
回文数这样需要怎样改动。。
有人跟我说。把string该成数组,但改成数组后。问题1.怎么接收。2.无法判断长度
[解决办法]
看看人家写的。
public class s{
public static void main(String[] args){
boolean y = true;
String str = "aaaaasaaaa";
Scanner scan = new Scanner(System.in);
str = scan.nextLine();
int b = str.length();
int c=0;
while(y){
if(str.charAt(c+0) != str.charAt(b-c-1)){
y = false;
}
c++;
if(c >= b/2){
System.out.println(str + " 是回文数");
y = false;
}
}
if(c < b/2){
System.out.println(str + " 不是回文数");
}
}
}