JAVA程序,请协助,谢谢
来源:百度知道 编辑:UC知道 时间:2024/06/14 15:09:03
错误之处在
jTextArea1.setText("");
for(i=0;i<100;i++){
soc[i]=Integer.parseInt(temp[i][2]);
}
for(i=0;i<100;i++){
num[i]=Integer.parseInt(temp[i][3]);
}
for(i=0;i<100;i++){
if(soc[i]<soc[i+1]){
num[i]=num[i]+1;
}
else{
num[i+1]=num[i+1]+1;
}
}
temp[i][2]=String.valueOf(soc[i]);
temp[i][3]=String.valueOf(num[i]);
jTextArea1.append(temp[i][0]+"\t"+temp[i][1]+"\t"+temp[i][2]+"\t"+temp[i][3]+"\n");
i++;
jTextArea1.append(jTextField1.getText()+"\t"+jTextField2.getText()+"\t"+jTextField3.getText()+"\t"
最好把程序中用到的姓名,学号,成绩等作为另一个类的变量,编写一个新类,作为简单的程序,可以把它们作为类的public 类型变量,方便进行操作。
因为你现在的方法中每一行中的三个值实际上是没有什么联系的,你进行排序的时候,只是对其中的某一属性进行了排序而其他的就保持不变了,不可能得到正确的结果。
比如再定义一个类Student,其中三个属性name,no,score。每进行一次button1的按钮事件操作,就把其中的值赋给Student类新的实例,这样在排序的时候可以调用newStudent.score来进行排序操作,就可以把对应的每个对象的成绩进行排序,由对象联系到各个属性,实现最终的目标。
相信你不是基础很差的人了,一定能懂得我在说的是什么,自己再把程序改进一下吧,你会得到你要的结果的。
你这么写谁能懂 啊
请把详细代码发下,光有这些我看不太清楚,每个人的思路都不一样。
对不起大家,代码太多,受限制,我换号给大家程序代码
该程序的算法我不会了,就是比较分数的大小,交换分数后的名次,可是总是交换不全,分数最高的可能是最后一名,请高手指教
错误部分为
for(i=0;i<j;i++){
if(soc[i]<soc[i+1]){
number=num[i];
num[i]=num[i+1];
num[i+1]=number;
}
}
//排序要求的比较和算法
public class PLie extends javax.swing.JFrame {
/** Creates new form PLie */
public PLie() {
initComponents();
i=0;
j=0;
temp=new String[100][4];
soc=new int[100];
num=new int[100