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;
}
}
}
}
现在,它仅使其接受一个字母输入,并且如果您要放置另一组字母,则会创建一个新的直方图。
答案 0 :(得分:1)
一个简单的解决方案:创建一个类似 makeHistogram()的方法,该方法将一个字符串并打印出该直方图(基本上,您只是将一些代码从main方法移至该新方法中)。
然后将一个while循环放入您的main方法中。在该循环的主体内,您首先要求用户输入另一行文本,然后调用新方法并将该输入传递给它。