Palindrome程序在java中

时间:2018-03-30 14:44:54

标签: java

java中的回文程序

您好,我创建了一个java程序,用于在提示最终用户输入从起始端点到结束端点的2个数字时输出回文数。我使用BlueJ IDE创建了这个程序,每当我编译这个程序时都没有错误,当我进入主窗口并右键单击程序并转到main方法时,它根本就没有运行。

我的问题是我错过了一些不合适的程序吗?任何建议表示赞赏。

这是我的代码:

import java.io.*;
import java.util.*;
public class NiceAndSquareNumbers{
    public static void main (String[]args){
    int n=0;
    long num[]=new long[100000000];

    for(int i=0;i<1000;i++){
        num[i]=0;
    }

    for(long i=1;i<=100000000;i++){
        if(isPalindrome(i)&&isPalindrome(i*i)){
            num[n++]=i*i;
        }
    }

    Scanner scanner=new Scanner(System.in);
    long l=scanner.nextLong();

    for(long i=0;i<l;i++){
       long a=scanner.nextLong();
       long b=scanner.nextLong();
       long count=0;

       for(int j=0;j<100;j++){
        if(num[j]!=0 & num[j]>=a && num[j]<=b){
            count++;
        }
       }
       System.out.println("Case #"+(i+1)+": "+count);
    }
}

private static boolean isPalindrome(long num){
    long n=num;
    long reverse=0;
    while(num>0){
        long digit=num%10;
        reverse=reverse*10+digit;
        num=num/10;
    }
    return(n==reverse);
}
}

1 个答案:

答案 0 :(得分:0)

这是BlueJ的一个错误(或不合理),你必须先打印一些东西然后才能看到控制台。添加:

System.out.println("Welcome");

在main方法的开头。看起来像这样

public static void main (String[]args){
    System.out.println("Welcome");
    int n=0;
    //...other code
}

您可以看到控制台,您可以输入数字来运行程序:

enter image description here