计算 JTextArea 中字符的出现次数
Count occurrence of characters in JTextArea
我有这个项目,我必须计算用户在 JTextArea 中输入的每个字符,输出字母及其在 JTextArea 中出现的次数。我的代码的工作方式是计算用户在 JTextArea 中输入的每个字符,但我需要做的是,如果字符重复,它只会显示一次,并显示相应的计数。谁能帮忙?
这是我的代码。
btn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
String text = textbox1.getText();
int num[] = new int [MAX_CHAR];
int size = text.length();
for(int i = 0; i < size; i++ ) {
num[text.charAt(z)]++;
textbox6.append("'" + text.charAt(i) + "' -" +
num[text.charAt(i)] + ", \n");
}
}
}
例如textbox1.setText("Here's an example")
我的代码所做的是打印 JTextArea 中的每个字符,然后计算有多少个字符是这样的
'h' - 1, 'e' - 1, 'r' - 1, 'e' - 2, ''' - 1, 's' - 1, ' ' - 1, 'a' - 1, 'n' - 1, ' ' - 2, 'e' - 3, 'x' - 1, 'm' - 1, 'p' - 1, 'l' - 1, 'e' - 4
输出应该只显示一次重复的字符及其相应的计数,即字符串中有多少个字符。
像这样
'h' - 1, 'e' - 4, 'r' - 1, ''' - 1, 's' - 1, ' ' - 2, 'a' - 2, 'n' - 1, 'x' - 1, 'm' - 1, 'p' - 1, 'l' - 1
你必须先计数,然后使用另一个循环打印它。
btn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
String text = textbox1.getText();
int num[] = new int [MAX_CHAR];
int printed[] = new int [MAX_CHAR];
int size = text.length();
for(int i = 0; i < size; i++ ) {
num[text.charAt(i)]++;
}
for(int i = 0; i < size; i++ ) {
if (printed[text.charAt[i]] == 0) {
printed[text.charAt[i]] = 1;
textbox6.append("'" + text.charAt(i) + "' -" +
num[text.charAt(i)] + ", \n");
}
}
}
}
这里使用打印数组来记录已经打印了哪些字符。
我有这个项目,我必须计算用户在 JTextArea 中输入的每个字符,输出字母及其在 JTextArea 中出现的次数。我的代码的工作方式是计算用户在 JTextArea 中输入的每个字符,但我需要做的是,如果字符重复,它只会显示一次,并显示相应的计数。谁能帮忙? 这是我的代码。
btn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
String text = textbox1.getText();
int num[] = new int [MAX_CHAR];
int size = text.length();
for(int i = 0; i < size; i++ ) {
num[text.charAt(z)]++;
textbox6.append("'" + text.charAt(i) + "' -" +
num[text.charAt(i)] + ", \n");
}
}
}
例如textbox1.setText("Here's an example")
我的代码所做的是打印 JTextArea 中的每个字符,然后计算有多少个字符是这样的
'h' - 1, 'e' - 1, 'r' - 1, 'e' - 2, ''' - 1, 's' - 1, ' ' - 1, 'a' - 1, 'n' - 1, ' ' - 2, 'e' - 3, 'x' - 1, 'm' - 1, 'p' - 1, 'l' - 1, 'e' - 4
输出应该只显示一次重复的字符及其相应的计数,即字符串中有多少个字符。
像这样
'h' - 1, 'e' - 4, 'r' - 1, ''' - 1, 's' - 1, ' ' - 2, 'a' - 2, 'n' - 1, 'x' - 1, 'm' - 1, 'p' - 1, 'l' - 1
你必须先计数,然后使用另一个循环打印它。
btn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
String text = textbox1.getText();
int num[] = new int [MAX_CHAR];
int printed[] = new int [MAX_CHAR];
int size = text.length();
for(int i = 0; i < size; i++ ) {
num[text.charAt(i)]++;
}
for(int i = 0; i < size; i++ ) {
if (printed[text.charAt[i]] == 0) {
printed[text.charAt[i]] = 1;
textbox6.append("'" + text.charAt(i) + "' -" +
num[text.charAt(i)] + ", \n");
}
}
}
}
这里使用打印数组来记录已经打印了哪些字符。