Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在用户输入中找到最常用的数字?JAVA_Java_Arrays_Sorting - Fatal编程技术网

如何在用户输入中找到最常用的数字?JAVA

如何在用户输入中找到最常用的数字?JAVA,java,arrays,sorting,Java,Arrays,Sorting,用户如何输入他们的号码,例如:122113333443,我需要输出3333 如果他们再次输入像1224这样的东西,那么我需要输出22 如果我不知道他们要输入哪些数字以及代码是什么样子,这怎么可能呢? 到目前为止,我只看到了开头,如果输入不是数字,则显示输入输出错误 int k; Scanner sc = new Scanner(System.in); System.out.println("input string:"); if (sc.ha

用户如何输入他们的号码,例如:122113333443,我需要输出3333

如果他们再次输入像1224这样的东西,那么我需要输出22

如果我不知道他们要输入哪些数字以及代码是什么样子,这怎么可能呢? 到目前为止,我只看到了开头,如果输入不是数字,则显示输入输出错误

    int k;

    Scanner sc = new Scanner(System.in);
    System.out.println("input string:");
    if (sc.hasNextInt())
        k = sc.nextInt();
    else {
        System.out.println("input-output error");
        sc.close();
        return;
    }

这是Java而不是JavaScript,标记错误。然而,这是我的照片。我对java不是很在行,但无论如何:

公共字符串findMostCommonint inp{ int[]occuranceTable=新int[9]; 对于int i=0;imax?i:max; } //生成结果字符串 字符串结果=; 对于int i=0;i<可占用[max];i++ 结果+=String.valueOfmax; 返回结果; } 您可以在下面给出的代码中使用变量StringBuilder longest来跟踪具有相同字符的最长字符序列

迭代字符串的所有字符,并在下面给出的代码中将这些字符追加到StringBuilder StringBuilder sb,直到找到不同的字符。发生这种情况时,重置sb

每次附加到sb后,检查其长度是否大于最长的长度。如果是,请将StringBuilder的内容传输到最长

另一个示例运行:


请添加您迄今为止尝试过的内容和错误。“那么,我们可以帮助你。”哈沙纳瑟拉辛他看了看编辑。。如果你能帮助我,我将非常感激。这是Java而不是JavaScript。标签错了。@Farazzhaikh,你能帮个忙吗?当然,给我一点时间,我应该把这个放在我的公共静态无效字符串[]args中吗{method?不,你应该在你的邮件类中使用另一个方法。如果你想在main中使用它,请确保该方法是静态的。祝你好运!如果这有助于你解决问题,请正确地标记这个答案。我怎么可以使用system.out.printlnfindMostCommon1221?system.out.printlnfindMostCommon1221;你可以使用String而不是StringBuilder,但我建议你使用StringB对于这种情况,使用uilder而不是String,因为循环中重复的字符串连接会创建与连接数量一样多的字符串实例。请检查以了解更多信息。如何将System.out.printlngetLongest122113333443;传输到System.out.printlnand in here用户input@Denijs-更新以使其具有交互性。Fe如有任何疑问/问题,el可自由发表意见。
import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Input string: ");
        String input = sc.nextLine();
        System.out.println(getLongest(input));
    }

    static String getLongest(String str) {
        StringBuilder sb = new StringBuilder();
        StringBuilder longest = new StringBuilder();
        char current = 0;

        // Process all but the last character of str
        for (int i = 0; i < str.length() - 1; i++) {
            current = str.charAt(i);
            sb.append(current);
            if (sb.length() > longest.length()) {
                longest = new StringBuilder(sb);
            }
            if (current != str.charAt(i + 1)) {
                sb = new StringBuilder();
            }
        }

        // Process the last character of str
        sb.append(str.charAt(str.length() - 1));
        if (sb.length() > longest.length()) {
            longest = new StringBuilder(sb);
        }

        return longest.toString();
    }
}
Input string: 122113333443
3333
Input string: 1224
22