【发布时间】:2017-06-19 01:22:01
【问题描述】:
基本上,我一直在尝试让我的直方图显示在它上面递增的字母上方垂直对齐的星号。我一直在试图找出让星号在重复字母上方对齐的最有效方法。有什么建议吗?
**My current output displays this horizontally**
asfklafjasjfk
A (3) ***
F (3) ***
J (2) **
K (2) **
L (1) *
S (2) **
ABCDEFGHIJKLMNOPQRSTUVWXYZ
我想让它显示这个
abcaaaabbzzzzz
*
* *
** *
** *
*** *
ABCDEFGHIJKLMNOPQRSTUVWXYZ
我在下面列出了我的代码
public class histogram {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
String lettersInput = input.nextLine();
lettersInput=lettersInput.toUpperCase();
String map = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int[] count = new int[map.length()];
for(int x = 0; x < lettersInput.length();x++){
int letter = map.indexOf(lettersInput.charAt(x));
if(letter < 0){
continue;
}
count[letter]++;
}
for(int x = 0; x < count.length; x++){
if(count[x]< 1)
continue;
System.out.println(String.format("%s (%d) %s",
map.charAt(x),
count[x],
new String(new char[count[x]]).replace('\0','*')));
}
System.out.println("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
}
}
【问题讨论】:
-
它到底有什么问题?你试图解决什么?我们不是来为您调试代码的。
-
我正在寻求有关让星号在其对应的字母上方垂直对齐的最佳方法的建议。