java - 如何检查数组中的任何整数是否具有相同的位数,例如 24,54,67,如下面的示例所示

标签 java

import java.util.Scanner;

public class BubbleInt {

    public static void main(String [] args){
        Scanner sc1 = new Scanner(System.in);
        System.out.println("Please enter the total amount of number:);
        int n = sc1.nextInt();
        int [] missing = new int [n];
        System.out.println("Please enter your numbers:");
        for(int i=0; i<n; i++) {
            missing[i] = sc1.nextInt();
        }
        //Sorting from largest to smallest
        int temp = 0;
        for(int i =0; i<missing.length; i++) {
            for(int j =0; j<missing-1; j++) {
                if(missing[i] > missing [j+1] {
                    temp = missing[j+1];
                    missing[j+1] = missing[i];
                    missing[i] = temp;
                }
            }
        }
       //Displaying 
       for(int i = 0; i<missing.length; i++) {
           System.out.println(missing[i] + " ");
       }
   }
}

我想对一个数组从最大到最小进行排序,上面的代码可以完美地完成,但我想检查是否有两个具有相同位数的整数。例如,如果我输入 77,23,5,1,7,101,输出应该是 101 23 77 1 5 7,因为 1,5,7 和 23, 77 的位数相同,它们颠倒了。我如何检查元素具有相同的长度并且仅反转它们。

最佳答案

要获取整数 i > 0 的位数,请尝试以下操作:

var numDigits = ((int) Math.log10( i )) + 1;

关于java - 如何检查数组中的任何整数是否具有相同的位数,例如 24,54,67,如下面的示例所示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61155083/

相关文章:

java - 键盘向上推admob广告

java - 调用 Url.OpenStream 时出现 Android NetworkOnMainThreadException

java - 我们可以改进这段代码吗?

java - 运行服务器时 Corda ActiveMQConnectionTimedOutException

java - 在多模块 Maven 项目中更新模块版本的最佳策略是什么

java - java类可以在nsis脚本中运行吗?

java - 在java中使用类型参数进行转换

java - 应用程序在 Tomcat 服务器上找不到属性文件

java - 线程安全保护

java - 如果使用 Cucumber 将输出发送到数据库,我该如何测试组件?