私は学校の課題に取り組んでいて、地図について少し教えています。これまでのところ、このコードがあります
import java.util.Map;
import java.util.TreeMap;
import java.util.Scanner;
import static java.lang.System.*;
import java.util.ArrayList;
import java.util.Arrays;
public class Histogram
{
private Map<String,Integer> histogram;
public Histogram(String sent)
{
histogram = new TreeMap<String,Integer>();
String[] words = sent.split(" ");
for(String c : words)
{
if(histogram.containsKey(c))
{
histogram.put(c,histogram.get(c)+1);
}
else
{
histogram.put(c,1);
}
}
}
public String toString()
{
String output="";
output+="char\t1---5----01---5\n";
String z ="";
for(String s: histogram.keySet())
{
for(int x=0 ; histogram.size() > x;x--)
{
z += "*";
}
}
return output+ "\n\n" ;
}
}
このようにフォーマットされたあまりにも文字列が欲しい
char 1---5----01---5
a **
b *
c **
d **
e **
f *
g **
h ***
i **
k *
アスタリスクを正しく割り当てていますか?キーと*の#を表示する方法をフォーマットしますか?
必要に応じて、ここに他の部分があります
public class HistogramTester
{
public static void main( String args[] ) throws IOException
{
Scanner in = new Scanner(new File("Histogram.dat"));
while (in.hasNextLine())
{
String n = in.nextLine();
Histogram a = new Histogram(n);
System.out.println (a);
}
}
}
それが役立つ場合は、ここにdatファイルがあります
a b c d e f g h i a c d e g h i h k
1 2 3 4 5 6 1 2 3 4 5 1 3 1 2 3 4
Y U I O Q W E R T Y
4 T # @ ^ # # #