【发布时间】:2014-05-16 23:04:07
【问题描述】:
我有一个 JFrame 和一个选择图表的 JPanel。该图表有 10 个垂直位置的球员(1 个额外的菜单)和 3 个水平位置的“#”、“Name”、“Score”。 在每一回合,玩家输入他的名字,同时他的分数被保存。 我想在每轮比赛中用他/她的分数打印他/她的名字。因此,如果进行 6 场比赛,将有 6 个名字和他们的分数在他们旁边。所有都必须从高到低排序。
使用的变量有:
private int score;
private String[] playerscore = {"#","Name", "Score"};
private String[][] singleplay = {{"#","Name","Score"},{"1","----------","--"},{"2","----------","--"},{"3","----------","--"},{"4","----------","--"},{"5","----------","--"},{"6","----------","--"},{"7","----------","--"},{"8","----------","--"},{"9","----------","--"},{"10","----------","--"}};
我相信name和string必须有两个数组,用来从“singleplay”中获取所有数据并进行组织。我用过:
int [] ascore = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
String [] aname = {"","","","","","","","","",""};
我需要帮助整理表格,同时添加“图表已满”条件。例如:“如果分数小于 10 号玩家的分数,则什么也不做。 我有一个想法,位置 x 的内容应该保存在 ascore 和 aname 中。我尝试通过以下方式保存内容以供以后组织:
ascore [0] = Integer.parseInt(singleplay[1][2]);
aname [0] = singleplay[1][1];
在“acore”和“aname”组织之后,我将使用以下方法打印它:
singleplay[x][2] = Integer.toString(ascore[y]);
singleplay[x][1] = aname [y];
感谢您的帮助。
【问题讨论】:
-
我不确定您到底想要做什么,但根据我收集到的信息,我有一些建议:1) 独立于 Swing 组织数据结构。当您应该使用自定义类来保存需要保持在一起的数据时,您似乎正在尝试使用并行数组。 2)考虑使用数据库来保存数据。 3) 如果需要显示表格数据并与之交互,请考虑使用 JTable。
标签: java arrays swing multidimensional-array organization