import java.io.*;
public class Jiangxu {
public static void main (String[] args) {
      try{
       System.out.println ("输入一个整数:");
       BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
       String s=br.readLine();
       int a=Integer.parseInt(s);
       boolean flag=true;
       int last=a%10;
       while((a>10&&flag)) {
       a=a/10;
       int pre=a%10;
       if(last>pre)
           flag=false;
                    last=pre;
       }
       if(flag)
       System.out.println ("该数是降序数!!!");
       else
       System.out.println ("该数非降序数...");
       }catch(IOException e){}     }
  }
}
   

解决方案 »

  1.   

    程序目的:判断输入的整型数按位是否降序实现方式:
    1. 当前操作数:上一操作数除以10后所得,初始操作数为输入数
    2. last为当前操作数的最后一位数
    3. pre为当前操作数的最后一位数的前一位,即倒数第二位
    4. 比较当前操作数的last和pre,last小于pre,说明当前操作数的最后两位是降序的,那么通过除以10获得下一操作数再循环判断,如此递归操作,如果不出现非降序的情况,则证明整个数位都是降序的
      

  2.   

    import java.io.*;
    public class Jiangxu 
    {
    public static void main (String[] args) 
    {
    try{
    System.out.println ("输入一个整数:");
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    String s=br.readLine();
    int a=Integer.parseInt(s);
    boolean flag=true;
    int last=a%10;
    while((a>10 && flag)) 
    {
    /*比如123,先留下3,然后再留下2,
     * 最后判断2和3谁大,以此类推……
     * */
    a=a/10;
    int pre=a%10;
    if(last>pre)
    flag=false;
    last=pre;
    }
    if(flag)
    System.out.println ("该数是降序数!!!");
    else
    System.out.println ("该数非降序数...");
    }catch(IOException e){}   }
    }
      

  3.   

    while有关虚幻就是针对不确定循环
      

  4.   

    debug一下,就什么都明白了。大学学c语言,没有机器,全靠在纸上写出数据结构和分析流程。
    现在这么好的条件,用之!