Java 求数组中回文数的一位数和
我试图检查回文数并找到回文数的一位数和,但我的代码没有返回正确的值(我发现很难从循环中返回sum的值)。谁能帮我搞错吗。任何帮助都将受到感谢Java 求数组中回文数的一位数和,java,sum,palindrome,Java,Sum,Palindrome,我试图检查回文数并找到回文数的一位数和,但我的代码没有返回正确的值(我发现很难从循环中返回sum的值)。谁能帮我搞错吗。任何帮助都将受到感谢 import java.util.Scanner; public class SumOfPalindrome { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println(&qu
import java.util.Scanner;
public class SumOfPalindrome {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of array elements");
int n = sc.nextInt();
int[] inp = new int[n];
System.out.println("enter the elements");
for(int i = 0; i< n ;i++)
{
inp[i] = sc.nextInt();
}
System.out.println(SumOfPalindromeNumber(inp));
}
private static int SumOfPalindromeNumber(int[] inp )
{
int sumpal =0;
for(int i = 0; i<inp.length;i++)
{
int rem =0;
int sum = 0;
while(inp[i]!=0)
{
rem = inp[i]%10;
sum=(sum*10)+rem;
inp[i]/=10;
}
if(inp[i]==sum)
{
sumpal+=inp[i];
if(sumpal>9)
{
sumpal=singledigitsum(sumpal);
}
}
}
return sumpal;
}
private static int singledigitsum(int sumpal)
{
int rem1 = 0;
int sum1 = 0;
while(sumpal!=0)
{
rem1=sumpal%10;
sum1+=rem1;
sumpal/=10;
}
if(sum1>9)
{
sum1=singledigitsum(sum1);
}
return sum1;
}
}
import java.util.Scanner;
公共级停车场{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入数组元素的数量”);
int n=sc.nextInt();
int[]inp=新的int[n];
System.out.println(“输入元素”);
对于(int i=0;i9)
{
sum1=单指(sum1);
}
返回sum1;
}
}
import java.util.Scanner;
public class SumOfPalindrome {
public static void main(String[] args) {
SumOfPalindrome sumOfPalindrome=new SumOfPalindrome();
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of array elements");
int n = sc.nextInt();
int[] inp = new int[n];
System.out.println("enter the elements");
for(int i = 0; i< n ;i++)
{
inp[i] = sc.nextInt();
}
for(int i=0;i<n;i++)
{
if(sumOfPalindrome.isPallindrone(inp[i]))
{
System.out.println("No -> "+inp[i]+" Sum->"+sumOfPalindrome.sumOfDigits(inp[i]));
}
}
}//
public boolean isPallindrone(int no)
{
int r,sum=0,temp;
temp=no;
while(no>0){
r=no%10; //getting remainder
sum=(sum*10)+r;
no=no/10;
}
if(temp==sum)
{
return true;
}
else
{
return false;
}
}
public int sumOfDigits(int no)
{
int sum = 0;
while (no != 0)
{
sum = sum + no % 10;
no = no/10;
}
return sum;
}
}
import java.util.Scanner;
公共级停车场{
公共静态void main(字符串[]args){
SumOfPalindrome SumOfPalindrome=新的SumOfPalindrome();
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入数组元素的数量”);
int n=sc.nextInt();
int[]inp=新的int[n];
System.out.println(“输入元素”);
对于(int i=0;i
我不理解您代码中sumpal的用途。您需要一个方法,该方法返回数组中的palindromes。我评论了错误的部分
import java.util.Scanner;
public class SumOfPalindrome_1
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of array elements");
int n = sc.nextInt();
int[] inp = new int[n];
System.out.println("enter the elements");
for(int i = 0; i< n ;i++)
{
inp[i] = sc.nextInt();
}
//System.out.println(SumOfPalindromeNumber(inp));
SumOfPalindromeNumber(inp);
}
private static void SumOfPalindromeNumber(int[] inp )
{
int sumpal =0;
for(int i = 0; i<inp.length;i++)
{
int rem =0;
int sum = 0;
while(inp[i]!=0)
{
rem = inp[i]%10;
sum=(sum*10)+rem;
inp[i]/=10;
}
if(inp[i]==sum)
{
// sumpal+=inp[i];
/*if(sumpal>9)
{
sumpal=singledigitsum(sumpal);
}
*/
System.out.println(singleDigitSum(inp[i]));
}
}
}
private static int singleDigitSum(int sumpal)
{
int rem1 = 0;
int sum1 = 0;
while(sumpal!=0)
{
rem1=sumpal%10;
sum1+=rem1;
sumpal/=10;
}
if(sum1>9)
{
sum1=singleDigitSum(sum1);
}
return sum1;
}
}
import java.util.Scanner;
公共级停车场1
{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入数组元素的数量”);
int n=sc.nextInt();
int[]inp=新的int[n];
System.out.println(“输入元素”);
对于(int i=0;i9)
{
sum1=单指(sum1);
}
返回sum1;
}
}
如果情况并非如此,则表示歉意,但这似乎是您在寻找编码测试的答案。阿曼,除了您的代码之外,您还需要给出一些解释,以帮助OP了解您所做的事情。谢谢您,阿曼,这很有效,但我正在寻找以丁格尔数字表示的总数。另外,我想知道我犯了什么错误。Aman,sumpal是我代码中数组中所有回文数的总和。我试图返回总和,如果sumpal(所有回文数的总和)不是一位数,那么我只想得到一位数的总和。但是我不能返回总和的值,它返回0。是的,先生,练习这些问题并找出错误。