java - 查找仅包含数字的计数的方法是什么

标签 java

我刚刚开始我的java类(class),所以仍然无法理解很多东西,请帮助我。 这是基本代码

import java.util.Arrays;
import java.util.Scanner;

public class Main<i> {
    public static void main(String[] args ) {
        System.out.println (" Enter count of digits: ");
        Scanner scanner = new Scanner(System.in);
        int size = scanner.nextInt();
        int [] sourceNumber = new int [size];
        System.out.println("Enter your digits with space");
        for (int i = 0; i < size; i++) {
            sourceNumber[i] = scanner.nextInt();
            [...]

所以我不知道如何制定方法来查找具有步进数字​​的任何计数。例子: 我的计数如下: 12405346 534952359 6456934 1234567 所以我需要系统找到 1234567 并将其打印出来

例如,我制作了一种方法来查找具有最少相同数字的计数,如下所示:

[...]

for (int j = 0; j < 10; j++) {
    if (digitsCount[j] > 0)
        differentDigitsCount++;
}
mindifferent = differentDigitsCount;
for (int k = 1; k < size; k++) {
    int differentDigitsCount1 = 0;
    int[] digitsCount1 = new int[10];
    while (sourceNumber[k] != 0) {
        digitsCount1[(int) (sourceNumber[k] % 10)]++;
        sourceNumber[k] /= 10;
    }
    for (int j = 0; j < 10; j++) {
        if (digitsCount1[j] > 0)
           differentDigitsCount1++;
    }
    if (mindifferent <= differentDigitsCount1) {
    } else {
        mindifferent = differentDigitsCount1;
        l = k;
    }
}
System.out.println("Digit with minimum same numbers: " + moimassiv[l]);

[...]

这段代码很大,但现在对我来说没问题。我只需要制定方法来查找步进计数

最佳答案

我假设您想要打印那些数字从小到大排序的数字。是这样吗?

您可以将数字转换为String,然后您可以使用charAt(int index)方法获取每个数字

您可以迭代 sourceNumber 并为每个数字调用 hasSortedNumbers() 以了解其数字是否已排序。

for (int number : sourceNumber) {
    String valueOfNumber = String.valueOf(number);
    if (hasSortedNumbers(valueOfNumber)) {
        System.out.println(number);
    }
}

这是hasSortedNumbers()的代码

public static boolean hasSortedNumbers(String valueOfNumber) {
    for (int i = 0; i < valueOfNumber.length() - 1; i++) {
        if (valueOfNumber.charAt(i) >= valueOfNumber.charAt(i + 1)) {
            return false;
        }
    }
    return true;
}

我假设您要从 main 中使用此方法,因此它需要是静态的,因为 main 是静态的。

基本上,我将每个数字与下一个数字进行比较,如果发现下一个数字较小,则返回 false。如果不是,则退出 for 循环时返回 true。

关于java - 查找仅包含数字的计数的方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60452239/

相关文章:

java - Springboot findBy List <String> hibernate @Query

java - 无法打印斐波那契数列中的所有数字

java - 如何提取基本 URI?

java - 获取 double 组的最大 k 个元素

java - 由于图像按钮强制关闭

java - Java 正则表达式中否定先行断言的奇怪之处

java - 绘制纹理四边形 OpenGL 不起作用

java - 在大型未排序列表中查找 n 个最大值,一次仅处理一页值

java - 关于使用 JavaFX 或 CSS 实现效果的效率

java 枚举与数组属性