Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 词频图问题_Java_Java.util.scanner - Fatal编程技术网

Java 词频图问题

Java 词频图问题,java,java.util.scanner,Java,Java.util.scanner,这段代码的目标是使用主方法java创建一个程序来分析用户输入的文本片段 他们将文本输入扫描仪,然后由程序进行分析。分析的目的是产生词频、平均长度,并以星号图的形式打印出结果,单个“*”代表1个单词 例如,“鸟可能会飞”产生以下结果: Enter text: Birds can maybe fly Birds can maybe fly 1 letter words: 0 2 letter words: 0 3 letter words: 2 4 letter words: 0 5 letter

这段代码的目标是使用主方法java创建一个程序来分析用户输入的文本片段

他们将文本输入扫描仪,然后由程序进行分析。分析的目的是产生词频、平均长度,并以星号图的形式打印出结果,单个“*”代表1个单词

例如,“鸟可能会飞”产生以下结果:

Enter text: 
Birds can maybe fly
Birds can maybe fly
1 letter words: 0
2 letter words: 0
3 letter words: 2
4 letter words: 0
5 letter words: 2
mean lenght: 4.0

1 letter words
2 letter words
3 letter words **
4 letter words
5 letter words **
到目前为止,我已经完成了单词频率和单词平均值,但我坚持的部分是创建星号图。这是一个我从未接触过的领域,我想知道我会怎么做,我会使用直方图还是只使用int,然后打印出一个“*”而不是一个数字?。我不希望任何人直接把代码交给我,但是如果有人能给我一个我应该做什么的提示,或者给我指出正确的方向,或者给我一个我应该做什么的解释,我将不胜感激

代码:

import java.util.Scanner;
公共类频率
{
公共静态void main(字符串[]args)
{
扫描仪扫描=新扫描仪(System.in);
while(true)
{
System.out.println(“输入文本:”);
字符串s;
s=scan.nextLine();
字符串输入=s;
String strippedInput=input.replaceAll(“\\W”和“);
System.out.println(“+strippedInput”);
String[]strings=strippedInput.split(“”);
int[]计数=新的int[6];
int-total=0;
for(字符串str:strings)
if(str.length()
您可以循环计算
计数
并为每个单元格打印一个与存储在其中的数字相等的星号:

for (int i = 0; i < counts.length; ++i) {
    StringBuilder sb = new StringBuilder(i).append(" letter words ");
    for (int j = 0; j <= counts[i]; ++j) {
        sb.append('*');
    }
    System.out.println(sb);
}
for(int i=0;i
用法:

 String str = "*";
 int n = 2;
 String repeated = StringUtils.repeat(str, n);
重复的将是:**

 String str = "*";
 int n = 2;
 String repeated = StringUtils.repeat(str, n);