import javax.swing.JOptionPane;
 public class Number
 {public static void main(String args[])
 {int number=0,d5,d4,d3,d2,d1;
 String str=JOptionPane.showInputDialog("输入一个1至99999之间的数");
 number=Integer.parseInt(str);
 if(number<=99999&&number>=i)
 {d5=number/10000;
      d4=number%10000/1000;
          d3=number%1000/100;
  d2=number%100/10;
  d1=number%10;
  if(d5!=0)
 {
  System.out.println(number+"是5位数");
if(d1==d5&&d2==d4)
 {System.out.println(number+"是回文数");
 }
 else{
 System.out.println(number+"不是回文数");
 }
 else if(d4!=0)
 {   System.out.println(number+"是4位数");
     if(d1==d4&&d2==d3)
 {System.out.println(number+"是回文数");
 }
 else
 {System.out.println(number+"不是回文数");
 }
 }
 else if(d3!=0)
 {System.out.println(number+"是3位数");
 if(d1==d3)
 {System.out.println(number+"是回文数");
 }
 else{System.out.println(number+"不是回文数");
 }
 }
 else if(d2!=0)
 {System.out.println(number+"是2位数");
 if(d1==d2)
 {System.out.println(number+"是回文数");
 }
 else{System.out.println(number+"不是回文数");
 }
 }
 else if(d1!=0)
 {System.out.println(number+"是1位数");
                  System.out.println(number+"是回文数");
 }
 }
 else
 {System.out.println("\n%d不在1至99999之间",number);
 }
 }
 }

解决方案 »

  1.   

    楼主,你的java代码里怎么还夹杂着c++的东西?
      

  2.   

    楼主,你的java代码里怎么还夹杂着c++的东西?
      

  3.   

    我闲着编译了一下,主要是楼主没有区分开java与c++的细微不同。
    修改程序为:
    import javax.swing.JOptionPane;
    public class Number
    {
    public static void main(String args[])
    {
    int number=0,d5,d4,d3,d2,d1;
    String str=JOptionPane.showInputDialog("输入一个1至99999之间的数");
    number=Integer.parseInt(str);
    if(number<=99999&&number>=1)
    {
    d5=number/10000;
    d4=number%10000/1000;
    d3=number%1000/100;
    d2=number%100/10;
    d1=number%10;
    if(d5!=0)
    {
    System.out.println(number+"是5位数");
    if(d1==d5&&d2==d4)
    {
    System.out.println(number+"是回文数");
    }
    else
    {
    System.out.println(number+"不是回文数");
    }
    }
    else
    {
    if(d4!=0)
    {
    System.out.println(number+"是4位数");
    if(d1==d4&&d2==d3)
    {
    System.out.println(number+"是回文数");
    }
    else
    {
    System.out.println(number+"不是回文数");
    }
    }
    else

    if(d3!=0)
    {
    System.out.println(number+"是3位数");
    if(d1==d3)
    {
    System.out.println(number+"是回文数");
    }
    else
    {
    System.out.println(number+"不是回文数");
    }
    }
    else
    {
    if(d2!=0)
    {
    System.out.println(number+"是2位数");
    if(d1==d2)
    {
    System.out.println(number+"是回文数");
    }
    else
    {
    System.out.println(number+"不是回文数");
    }
    }
    else

    if(d1!=0)
    {
    System.out.println(number+"是1位数");
    System.out.println(number+"是回文数");
    }
    }
    }
    }
    }
    }
    else
    {
    System.out.println(number+"不在1至99999之间");
    }
    }
    }
      

  4.   

    谢谢,小弟java还刚入门。还请大家指教!
      

  5.   

    import javax.swing.JOptionPane;public class Number {
    public static void main(String args[]) {
    int number = 0, d5, d4, d3, d2, d1;
    String str = JOptionPane.showInputDialog("输入一个1至99999之间的数");
    number = Integer.parseInt(str);
    int i = 0;
    if (number <= 99999 && number >= i) {
    d5 = number / 10000;
    d4 = number % 10000 / 1000;
    d3 = number % 1000 / 100;
    d2 = number % 100 / 10;
    d1 = number % 10;
    if (d5 != 0) {
    System.out.println(number + "是5位数");
    if (d1 == d5 && d2 == d4) {
    System.out.println(number + "是回文数");
    } else {
    System.out.println(number + "不是回文数");
    }
    } else if (d4 != 0) {
    System.out.println(number + "是4位数");
    if (d1 == d4 && d2 == d3) {
    System.out.println(number + "是回文数");
    } else {
    System.out.println(number + "不是回文数");
    }
    } else if (d3 != 0) {
    System.out.println(number + "是3位数");
    if (d1 == d3) {
    System.out.println(number + "是回文数");
    } else {
    System.out.println(number + "不是回文数");
    }
    } else if (d2 != 0) {
    System.out.println(number + "是2位数");
    if (d1 == d2) {
    System.out.println(number + "是回文数");
    } else {
    System.out.println(number + "不是回文数");
    }
    } else if (d1 != 0) {
    System.out.println(number + "是1位数");
    System.out.println(number + "是回文数");
    }
    } else {
    System.out.println("\n%d不在1至99999之间" + number);
    }
    }
    }
      

  6.   

    int number=0,d5,d4,d3,d2,d1;
    不解啊。难道可以这样?