【发布时间】:2013-10-03 16:03:31
【问题描述】:
我正在做一个作业,我必须编写一个程序来读取来自用户的字符串,并打印出字符串中出现次数的字母。 例如“Hello world”应该打印出“h=1 e=1 l=3 o=2 ... etc.”,但我的只写“hello world”和字母总数。我不能使用 hashmap 函数,只能使用数组。有人可以给我一两个关于如何从下面的书面代码中获得我喜欢的功能的提示吗?我不明白如何将写入的输入保存在数组中。
这是我目前的代码。
public class CountLetters {
public static void main( String[] args ) {
String input = JOptionPane.showInputDialog("Write a sentence." );
int amount = 0;
String output = "Amount of letters:\n";
for ( int i = 0; i < input.length(); i++ ) {
char letter = input.charAt(i);
amount++;
output = input;
}
output += "\n" + amount;
JOptionPane.showMessageDialog( null, output,
"Letters", JOptionPane.PLAIN_MESSAGE );
}
}
【问题讨论】:
-
请编辑您的问题并删除与您的问题无关的所有内容。摇摆没关系。
-
创建一个包含 26 个元素的数组。增加与字母对应的那个——注意字母的 ASCII 值是连续的(从 ASCII 值中减去一个常数以获得需要增加的元素的索引)。注意
A-Z范围之外的值,并确保处理小写/大写问题。仅打印非零元素的结果。祝你作业顺利。