java中的回文数
我是java新手,我想知道如何在不使用字符串和仅使用方法的情况下打印素回文 这就是我目前所拥有的。我想在50之前打印出每个质数回文数。我只对素数做了这项工作,但当我添加回文时,它不起作用 编辑:我添加了int original=数字,就像其中一个答案所说的那样,但我的输出总是2,3,5,7,11,仅此而已 EDIT2(还有一个问题):我将值改为1000,输出为2357113535373838383727757879797919929。输出是正确的,但101、131、151、181、191不也是素数回文数吗?为什么它们不包括在输出中java中的回文数,java,Java,我是java新手,我想知道如何在不使用字符串和仅使用方法的情况下打印素回文 这就是我目前所拥有的。我想在50之前打印出每个质数回文数。我只对素数做了这项工作,但当我添加回文时,它不起作用 编辑:我添加了int original=数字,就像其中一个答案所说的那样,但我的输出总是2,3,5,7,11,仅此而已 EDIT2(还有一个问题):我将值改为1000,输出为2357113535373838383727757879797919929。输出是正确的,但101、131、151、181、191不也是素
public class primePalindrome {
public static void main (String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter a number");
int num = input.nextInt();
System.out.println("The prime palindrome numbers are \n");
printPP(num);
}
public static void printPP(int numberOfPP) {
final int NUMBER_OF_PP_PER_LINE = 10;
int count = 0;
int number = 2;
while (number < numberOfPP) {
if(isPrime(number) && isPalindrome(number)) {
count++;
if (count % NUMBER_OF_PP_PER_LINE ==0) {
System.out.printf("%-5s\n", number);
}
else
System.out.printf("%-5s", number);
}
number++;
}
}
public static boolean isPrime(int number) {
for (int divisor = 2; divisor <= number / 2; divisor++) {
if (number % divisor == 0) {
return false;
}
}
return true;
}
public static boolean isPalindrome(int number) {
int reverse = 0;
int n = number;
for (int i = 0; i <= number; i++) {
int remain = number%10;
number = number/10;
reverse = reverse*10+remain;
}
if (reverse == n) {
return true;
}
}
return false;
}
公共类primePalindrome{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入一个数字”);
int num=input.nextInt();
System.out.println(“素数回文数为\n”);
printp(num);
}
公共静态无效打印PP(int numberOfPP){
每行的最终整数=10;
整数计数=0;
整数=2;
while(数字 对于(int-divisor=2;divisor,您很接近。最后您将数字与反向进行比较。不幸的是,数字已被修改。您需要将数字的原始值与反向进行比较。这是我修改的版本:
public static boolean isPalindrome(int number) {
int original = number;
int reverse = 0;
for (int i = 0; i <= number; i++) {
int remain = number % 10;
number = number / 10;
reverse = reverse * 10 + remain;
}
return reverse == original;
}
public静态布尔值isAlindrome(整数){
int原始=数字;
int反向=0;
对于(int i=0;i您很接近。最后您将数字与反向进行比较。不幸的是,数字已被修改。您需要将数字的原始值与反向进行比较。以下是我的修改版本:
public static boolean isPalindrome(int number) {
int original = number;
int reverse = 0;
for (int i = 0; i <= number; i++) {
int remain = number % 10;
number = number / 10;
reverse = reverse * 10 + remain;
}
return reverse == original;
}
public静态布尔值isAlindrome(整数){
int原始=数字;
int反向=0;
对于(inti=0;i,只有一个2位素数回文:11。每隔2位数可被11整除。因此,您的输出是正确的
您的isPalindrome非常接近:
1) 将相等检查移到循环外部
2) 使用while循环。使用“for”会导致忽略回文模式1X1、2XX2等。
3) 别忘了保留论点:
public static boolean isPalindrome(int number) {
int original = number;
int reverse = 0;
while (number > 0) {
int digit = number%10;
number = number/10;
reverse = reverse*10+remain;
}
return reverse == original;
}
只有一个2位素数回文:11。每隔2位数可被11整除。因此,您的输出是正确的
您的isPalindrome非常接近:
1) 将相等检查移到循环外部
2) 使用while循环。使用“for”会导致忽略回文模式1X1、2XX2等。
3) 别忘了保留论点:
public static boolean isPalindrome(int number) {
int original = number;
int reverse = 0;
while (number > 0) {
int digit = number%10;
number = number/10;
reverse = reverse*10+remain;
}
return reverse == original;
}
因为上面的大多数答案不适用于正数和负数,下面的答案也适用于负数
private static boolean isPalindrome(int n) {
int orignal = n, reversed = 0;
while (n != 0) {
reversed = (reversed * 10) + (n % 10);
n /= 10;
}
return reversed == orignal;
}
因为上面的大多数答案不适用于正数和负数,下面的答案也适用于负数
private static boolean isPalindrome(int n) {
int orignal = n, reversed = 0;
while (n != 0) {
reversed = (reversed * 10) + (n % 10);
n /= 10;
}
return reversed == orignal;
}
如果给定的输入是一个巨大的数字或字符串怎么办
我相信下面的代码应该适用于任何输入
private boolean isPalindrome(String s) {
int lo = 0, hi = s.length()-1;
while(lo < hi) {
if(s.charAt(lo) == s.charAt(hi)) {
lo++; hi--;
} else {
return false;
}
}
return true;
}
private boolean isPalindrome(字符串s){
int-lo=0,hi=s.length()-1;
while(lo
如果给定的输入是一个巨大的数字或字符串怎么办
我相信下面的代码应该适用于任何输入
private boolean isPalindrome(String s) {
int lo = 0, hi = s.length()-1;
while(lo < hi) {
if(s.charAt(lo) == s.charAt(hi)) {
lo++; hi--;
} else {
return false;
}
}
return true;
}
private boolean isPalindrome(字符串s){
int-lo=0,hi=s.length()-1;
while(lo
}
}导入java.util.*;
公共类触犯
{
公共布尔素数(int n)
{
int c=0;
对于(inti=1;iimportjava.util.*;
公共类触犯
{
公共布尔素数(int n)
{
int c=0;
对于(inti=1;i这很容易理解
public class StringDemo {
public static void main(String args[]) {
if(palindrome("1211")){
System.out.println("Yes IT IS palindrome");
}
if(palindrome("121")){
System.out.println("Yes IT IS palindrome");
}
}
public static boolean palindrome(Object o){
String s=(String)o;
boolean result=true;
int temp=s.length()-1;
for(int c=0;c<temp;c++){
if(s.charAt(c)==s.charAt(temp)){
temp--;
//System.out.println("Pallidrom start "+ s.charAt(c));
//System.out.println("Pallidrom end "+ s.charAt(temp));
}else{
System.out.println("NOT palindrome");
return false;
}
}
return result;
}
}
公共类StringDemo{
公共静态void main(字符串参数[]){
if(回文(“1211”)){
System.out.println(“是的,它是回文的”);
}
if(回文(“121”)){
System.out.println(“是的,它是回文的”);
}
}
公共静态布尔回文(对象o){
字符串s=(字符串)o;
布尔结果=真;
int temp=s.length()-1;
对于(int c=0;c这很容易理解
public class StringDemo {
public static void main(String args[]) {
if(palindrome("1211")){
System.out.println("Yes IT IS palindrome");
}
if(palindrome("121")){
System.out.println("Yes IT IS palindrome");
}
}
public static boolean palindrome(Object o){
String s=(String)o;
boolean result=true;
int temp=s.length()-1;
for(int c=0;c<temp;c++){
if(s.charAt(c)==s.charAt(temp)){
temp--;
//System.out.println("Pallidrom start "+ s.charAt(c));
//System.out.println("Pallidrom end "+ s.charAt(temp));
}else{
System.out.println("NOT palindrome");
return false;
}
}
return result;
}
}
公共类StringDemo{
公共静态void main(字符串参数[]){
if(回文(“1211”)){
System.out.println(“是的,它是回文的”);
}
if(回文(“121”)){
System.out.println(“是的,它是回文的”);
}
}
公共静态布尔回文(对象o){
字符串s=(字符串)o;
布尔结果=真;
int temp=s.length()-1;
对于(int c=0;cHOW)它不起作用了吗?意外结果(您得到了什么结果?)?编译错误(哪些错误)?更具体一点。它是如何起作用的?意外结果(您得到了什么结果?)?编译错误(哪些错误)?更具体一些。此处的更多信息:此处的更多信息:无法对问题进行评论,请在此处进行评论。请编辑您的问题,以包含您实际运行以获取“2 3 5 7 11 313…”的代码。很难说程序在没有源代码的情况下为何会出现错误:)无法对此问题进行评论,请在此处进行评论。请编辑您的问题,以包含您实际运行以获取“2 3 5 7 11 313…”的代码。如果没有源代码,很难说程序为何会出现错误:)欢迎使用StackOverflow。通常认为,解释您的答案如何解决原始海报的问题是有帮助的。此外,请检查您的格式,因为并非所有代码都被格式化为代码,所以很难阅读。欢迎使用StackOverflow。一般认为