java - 我如何更改我的代码,以便如果有第二个输入,它将添加到我的直方图上?

标签 java

public class Histogram {
    private static Scanner input;
    public static void main(String[] args) {
        input = new Scanner(System.in);
        String lettersInput = input.nextLine();
        lettersInput=lettersInput.toLowerCase();
        String alphabet = "abcdefghijklmnopqrstuvwxyz";
        int[] count = new int[alphabet.length()];
        for(int x = 0; x <  lettersInput.length();x++){
            int letter = alphabet.indexOf(lettersInput.charAt(x));
            if(letter < 0){
                continue;
            }
            count[letter]++;
        }

        for(int x = 0; x < count.length; x++){

            System.out.print(String.format("%s" + ":" +"%s", alphabet.charAt(x), new String(new char[count[x]]).replace('\0','*')));
            System.out.println();
            if(count[x]< 1) {
                continue;
            }
        }
    }
}

现在它只接受一个字母输入,如果你想输入另一组字母,它会生成一个新的直方图。

最佳答案

一个简单的解决方案:创建一个像 makeHistogram() 这样的方法,它接受一个字符串并打印该字符串的直方图(基本上,您只需将一些代码从主方法移动到该新方法中)。

然后将 while 循环放入 main 方法中。在该循环体内,您首先要求用户输入另一行文本,然后调用新方法并将输入传递给它。

关于java - 我如何更改我的代码,以便如果有第二个输入,它将添加到我的直方图上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54413855/

相关文章:

java - Ant :build.xml; XML 文档结构必须在同一实体内开始和结束

java - 如何设置 Ant 'junit' 任务的工作目录?

java - asm指令 'ta'和 '0xfffffffc'是什么意思?

java - 解密 Android AES 加密文件的正确 .Net 方法是什么

java - Java 中的 Firebase Query.startAt(ServerValue.TIMESTAMP)

java - 适用于 Android 的 Microsoft Translate API 出现 UnknownHostException

java - 将变量存储到我的服务器

java - GraphQL with Java - 如何将解析器分成多个类

java - 如何在TabLayout中将除第一个字母之外的所有字母小写?

java - 在 Java 中包含图像