【发布时间】:2016-11-25 00:38:14
【问题描述】:
我试图在饼图中显示百分比值,因为我在Personalityclass 中有百分比值,而Chart 类是我需要显示它的地方。我的代码结构如下:
Personality.JAVA
Tree C = gson.fromJson(profile.toString(), Tree.class);
Tree.SubTree t = C.getTree();
ArrayList<Children> mc = t.getChildren();
Children c1 = mc.get(0);
ArrayList<Children1> c2 = c1.getChildren();
Children1 obj1 = c2.get(0);
private Children1 obj1; //ERROR-ILEGAL START OF EXPRESSION
public Children1 getObj1(){
return this.obj1;
}
/** ArrayList<child2> c3 = obj1.children;
child2 obj2 = c3.get(0);
ArrayList<child3> c4 = obj2.children;
child3 obj3 = c4.get(0); **/
System.out.println(obj1.getPercentage()); //ERROR - IDENTIFIER EXPECTED
Children1.JAVA
public class Children1 {
private String category;
private String id;
private String name;
private double percentage;
private double sampling_error;
private ArrayList<Children2> children;
public Double getPercentage() {
return percentage;
}
/**
*
* @param percentage
* The percentage
*/
public void setPercentage(Double percentage) {
this.percentage = percentage;
}
}
Tree.JAVA(不确定这个类是否必要,但在这里)
public class Tree {
private SubTree tree;
@Override
public String toString() {
return "ID: " + id + "\n" + "Name: "+ "\n" + tree+ "\n" ;
}
class SubTree{
private String id;
private String name;
private ArrayList<Children> children; //Gets Arraylist from Class - Children
public ArrayList<Children> getChildren() {
return children;
}
public void setChildren(ArrayList<Children> children) {
this.children = children;
}
}
public SubTree getTree() {
return tree;
}
public void setTree() {
this.tree = tree;
}
}
图表类
private PieDataset createDataset(){
Personality m = new Personality();
// Personality.class = Personality();
DefaultPieDataset result = new DefaultPieDataset();
result.setValue("Value1",m.obj1 ); //attempted to get obj1 from Persoanlity Class
result.setValue("Linux", 10);
result.setValue("Mac", 25);
return result;
}
所以整个程序是 - 将普通段落转换为 json,然后在使用 java 值生成图形后解析为 java。所以在这种情况下,获取百分比值obj1 以显示在Chart class 中。
希望你们理解这个问题并感谢你们的时间:)
【问题讨论】:
-
我和@Luminous_Dev 在一起——你需要传输数据——那么是什么阻止你这样做,也许是通过构造函数或方法参数?并考虑将你的代码压缩成一个可行的minimal reproducible example/sscce。
-
在 Chart 类中它说当鼠标悬停在 m.obj1 部分时找不到符号。
-
为什么要直接访问字段?为什么不使用公共 getter 方法来控制访问?
-
如果您向我们提供 Personality 类代码,我们可能会看到它的原因。
-
@Luminous_Dev:但也不应该公开。
标签: java jfreechart personality-insights