按照面向对象方法,使用Java编写应用程序,实现如下要求:
从键盘输入一个正整数n表示要输出的个数;输出前n个同时为素数和回文整数的正整数(2个数之间使用空格分隔)。
回文整数:如果一个正整数,其反向倒置数与其本身相同,称为回文整数。例如:121,131等。
素数:如果一个正整数只能被1和其本身整除,称为素数。
运行示例:
输入个数:10
前10个同时为素数和回文数的正整数是:
2 3 5 7 11 101 131 151 181 191
提交要求:包含源程序文件的JAR。
源代码:
package com.company;
import java.util.Scanner;
public class Main {
public static boolean su(int i)
{
int a=0, k=2;
while ( a==0&&k<i )
{
if (i % k == 0)
{
a++;
}
k++;
}
if( a==0&&k<=i )
{
return true;
}else
{
return false;
}
}
public static boolean hui(int i)
{
int a = 0 , b = 0 , c = i;
while (c!=0)
{
a = c%10;
b = b*10+a;
c/=10;
}
if(b==i)
{
return true;
}else
{
return false;
}
}
public static void main(String[] args)
{
int i , b=1 , n;
Scanner scan = new Scanner(System.in);
System.out.print("输入个数:");
n = scan.nextInt();
System.out.println("前"+n+"个同时为素数和是回文数的正整数是:");
for( i=0 ; i<n ; b++)
{
if(su(b))
{
if(hui(b))
{
System.out.print(b+" " );
i++;
}
}
}
}
}