Sunday, 15 August 2010

java - how to use char in a array? -



java - how to use char in a array? -

please i'd know how create jtxtscore[6] show letter grade, calculates grade average want show letter grade too.``

public class scoregui extends jframe implements actionlistener{ final int size=6; jbutton jbtncalculate = new jbutton ("calculate"); jtextfield [] jtxtscore = new jtextfield[size]; jtextfield [] jtxtweight = new jtextfield[size]; jlabel [] jlblmodulename = new jlabel[size]; jpanel scorepanel = new jpanel(); jpanel buttonpanel = new jpanel(); double []scores = new double[size]; double []weights = new double[size]; public scoregui(){ jlblmodulename [0]= new jlabel("assignments"); jlblmodulename [1] = new jlabel("mid term"); jlblmodulename [2]= new jlabel("final exam"); jlblmodulename [3]= new jlabel("final project"); jlblmodulename [4]= new jlabel("grade average"); jlblmodulename [5]= new jlabel("letter grade"); scorepanel.setbackground(color.gray); scorepanel.setlayout(new gridlayout(7,3,5,9)); for(int i=0; i<size;i++){ scorepanel.add(jlblmodulename[i]); jtxtscore[i] = new jtextfield(8); scorepanel.add(jtxtscore[i]); jtxtweight[i] = new jtextfield(8); scorepanel.add(jtxtweight[i]); //add(jtxtweight[i]); } buttonpanel.setbackground(color.cyan); jbtncalculate.addactionlistener(this); buttonpanel.add(jbtncalculate); add(scorepanel, borderlayout.center); add(buttonpanel, borderlayout.south); setvisible(true); setsize(500,500); setdefaultcloseoperation(jframe.exit_on_close); setlocationrelativeto(null); } public double calculatescore(double[]score, double[]weight){ double grade=0.0; grade = (score[0]*weight[0]+score[1]*weight[1]+score[2]*weight[2]+score[3]*weight[3]); homecoming grade; } public char calculateletter(char grade){ char letter='n'; if(grade>=90) letter = 'a'; else if(grade>=80) letter = 'b'; else if(grade>=70) letter = 'c'; else if(grade>=60) letter = 'd'; else if(grade<50) letter = 'f'; homecoming letter; } public void actionperformed(actionevent e){ for(int i=0;i<4;i++){ scores[i] = double.parsedouble(jtxtscore[i].gettext()); weights[i] = double.parsedouble(jtxtweight[i].gettext()); } jtxtscore[4].settext(calculatescore(scores,weights)+""); jtxtscore[5].settext(calculateletter) // have here? } }

`

these lines here:

jtxtscore[4].settext(calculatescore(scores,weights)+""); jtxtscore[5].settext(calculateletter) // have here?

you should calculate scores , first set value returned double variable.

i.e.,

double score = calculatescore(scores,weights); jtxtscore[4].settext(score + "");

you should utilize score value in calculateletter method desired char. note might want alter calculateletter take double parameter , not char char parameter makes no sense.

[edited] side note, while applaud utilize of arrays since simplifying code greatly, don't think should utilize them final 2 jtextfields, since these jtextfields don't hold same type of info others. in code, think you'd much improve off naming these jtextfields, scorefield , lettergradefield, or similar. doing create code self-commenting , create much easier others , future self understand code.

also, i'd utilize loop here:

grade = (score[0]*weight[0]+score[1]*weight[1]+score[2]*weight[2]+score[3]*weight[3]);

rather hard-code everything. allow utilize different number of scores later if desired.

java swing

No comments:

Post a Comment