为什么Java编译器会报错?
查看原帖
为什么Java编译器会报错?
71990
Surferer楼主2021/2/2 19:23
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		sc.close();
		if (b > 10000000) {
			b = 10000000;
		}
		for (int i = a; i <= b; i++) {
			if (isprime(i)) {
				StringBuffer strbuf = new StringBuffer(String.valueOf(i));
				StringBuffer tmp = new StringBuffer(strbuf);
				StringBuffer strbuf_reversed = tmp.reverse();
				if (strbuf.compareTo(strbuf_reversed) == 0) {
					System.out.println(strbuf);
				}
			}
		}

	}
	
	public static boolean isprime(int num) {
		int len = String.valueOf(num).length();
		if (len % 2 == 0 && len >= 4) {
			return false;
		}
		if (num % 2 == 0 && num > 2) {
			return false;
		}
		for (int i = 2; i <= Math.sqrt(num); i++) {
			if (num % i == 0) {
				return false;
			}
		}
		return true;
	}

}

在Eclipse(2019-09版本,jdk12环境)可以通过编译,但在OJ就提示错误信息

/tmp/compiler_pzv4jt2m/Main.java:17: 错误: 找不到符号
				if (strbuf.compareTo(strbuf_reversed) == 0) {
				          ^
  符号:   方法 compareTo(StringBuffer)
  位置: 类型为StringBuffer的变量 strbuf
1 个错误

为什么出现这种情况?

2021/2/2 19:23
加载中...