输入一个整数,判断该数是否为降序

输入一个整数,判断该数是否为降序数,是则输出true,否则输出false。降序数是指该数的各位数字由高到低逐步下降(包括相等)。 别百度了 我都看遍了 能否自己写下

按照你的要求编写的输入一个整数,判断该数是否为降序数的Java程序如下

import java.util.Scanner;
public class JiangXuShu {
 public static boolean isJiangXuShu(int n){
  int b=0;
  while(n>0){
   int a=n%10;
   if(a>=b){
   }else{
    return false;
   }
   n=n/10;
   b=a;
  }
  return true;
 }
 public static void main(String[] args) {
  System.out.println("请输入一个大于等于10的正整数");
  Scanner sc=new Scanner(System.in);
  int number=sc.nextInt();
  if(number<10){
   System.out.println("输入的整数小于10!");
   return;
  }
  if(isJiangXuShu(number)==true)
   System.out.println(number+"是降序数!");
  else
   System.out.println(number+"不是降序数!");
 }
}

运行结果

请输入一个大于等于10的正整数
321
321是降序数!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-31
import java.util.Scanner;

/**
 * 输入一个整数,判断该数是否为降序数,是则输出true,否则输出false。
 * 降序数是指该数的各位数字由高到低逐步下降(包括相等)。
 * @author 11475
 *
 */
public class DescendingNumber {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
System.out.println(new DescendingNumber().solution(sc.nextInt()));
}

/**
 * 判断一个数组是否是降序的。
 * @param n 数字
 * @return true-是降序数组;false-不是。
 */
public boolean solution(int n) {
int[] arr = this.getArr(n);
for(int i = 0; i < arr.length -1; i++) {
if(arr[i] < arr[i+1]) {
return false;
}
}
return true;
}

/**
 * 将一个数字转换成一个数组。数字中各个位上的数字是数组中的元素。
 * @param n 数字
 * @return 数组
 */
public int[] getArr(int n) {
String s = String.valueOf(n);
int[] arr = new int[s.length()];
for(int i = 0; i < s.length(); i++) {
arr[i] = Integer.valueOf(String.valueOf(s.charAt(i)));
}
return arr;
}
}

相似回答