このコーディングを手伝っていただければ幸いです。棒グラフを作成しようとしていますが、うまくいかないようです。以下の出力を作成しようとしていますが、実行すると[Red, Yellow, Blue](0)
繰り返しになります。これで解決に近づいた気がします。誰かが私にできることを正しい方向に押し進めることができれば、それは大歓迎です.
import java.util.HashSet;
import java.util.Arrays;
import java.util.Set;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//These arrays are not to be modified and should only use these 2 arrays.
short[] points ={1,2,1,1,1,1,1,1,3,4,1,5};
String[] teams ={"Red","Yellow","Blue","Blue","Blue","Red","Yellow","Red","Yellow","Red","Blue","Blue"};
Set<String> uniqueTeams = new HashSet<String>(Arrays.asList(teams));
Barchart(points, teams, uniqueTeams);
}
public static void Barchart(short[] points, String[] teams, Set<String> uniqueTeams){
byte count=0;
for(int index=0; index < points.length; index++){
if(teams.equals(uniqueTeams)){
count++;
}
}
for(int index=0; index < points.length; index++){
System.out.println(uniqueTeams + "("+ count + ")");
}
}
}
//Output should look like this:
//
//Red(7): *******
//
//Yellow(6): ******
//
//Blue(9): *********
別の方法でそれを行う方法のアイデアはありますが、方法がわかりません。誰かが以下のこの質問に答えることができれば. チームの配列で行うことの倍数を持たずに、新しい配列を取得または作成するにはどうすればよいですか? したがって、配列は String[] uniqueTeams = {"Red, "Yellow", "Blue"}; のようになりますが、それを初期化または宣言するのではなく、それが理にかなっている場合はプログラム自体を作成する方法を作成します。