用java编写一个程序,判断一个数是否为回文素数,不知道错在哪,求大神帮忙?
使用Java编写判断自然数是否为素数的方式是,使用scanner来接受用户输入的数值,使用素数的算法,实例如下:
Scanner sr = new Scanner(System.in); System.out.print("请输入a的值:"); int a = sr.nextInt(); boolean is = true; if (a < 1) { System.out.println(a + "不是质数,因为他小于一"); } else { List<Integer> list = new ArrayList<Integer>(); for (int i = 2; i < a; i++) { if (a % i != 1 && a % i != a) { if (a % i == 0){ is=false; list.add(i); } } } if(is){ System.out.println("a是质数"); }else{ String yz=""; for (int i = 0; i < list.size(); i++) { if (yz=="") { yz=yz+list.get(i); }else{ yz=yz+","+list.get(i); } } System.out.println("a不是质数,因为他含有因子"+yz); } }
import j***a.util.Scanner;
public class Prime {
public static void main(String[] args) {
Scanner c = new Scanner(System.in);
System.out.println("请输入一个大于3的整数:");
int num = c.nextInt();
for(int i=2;i<=num/2;i++){
if(num%i==0){
怎么在j***a中math类加入Biginteger函数?
从JDK1.1 开始,J***a的math包里面本来就有BigInteger类。使用时调用import就可以,比如:
‘’’J***a
import j***a.math.BigInteger;
‘’’
BigInteger 提供所有 J***a 的基本整数操作符的对应物,并提供 j***a.lang.Math 的所有相关方法。另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、位操作以及一些其他操作。参考jdk文档。
比如:求n的阶乘n!(一般n大的时候,返回的结果会大于j***a integer的最大值,所以需要用到biginteger):
static BigInteger factorial(int N)
{
// 初始化返回结果
BigInteger f = new BigInteger("1"); // Or BigInteger.ONE