?? gee1003.java
字號:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.Array;
public class GEE1003 implements ActionListener{
private workFrame myFrame;
public GEE1003(){
myFrame = new workFrame();
myFrame.getInButton().addActionListener(this);
myFrame.getClearButton().addActionListener(this);
}
public static void main(String[] argv){
GEE1003 ge = new GEE1003();
}
/* (non-Javadoc)
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
if(arg0.getSource() == myFrame.getInButton()){
String str = myFrame.getInTextArea().getText();
int rows = myFrame.getInTextArea().getLineCount();
String[][] array = new String[rows-1][12];
// System.out.println(rows);
// System.out.println(array);
for(int i=0;i<rows-1;i++){
int index = 0;
String s = new String();
while(str.charAt(index)!= '\n'){
s = s+str.charAt(index);
index ++;
}
str = ""+str.substring(index+1);
str = ""+str.substring(0);
//把String str轉化成String 數組array[i]
int arrayindex =0;
String sub = new String();
s = s+' ';
for(int m=0;m<s.length() && arrayindex<12;m++){
if(s.charAt(m)!=' ')
sub = sub+s.charAt(m);
else{
array[i][arrayindex] = sub;
sub = "";
arrayindex++;
}
}
}
int i = 0;
while(i<rows-2){ //處理一個模塊的輸出
int personNum = 0 ,questionNum = 0,mark = 0;
if(array[i][0]!="0"){
personNum = Integer.parseInt(array[i][0]);
questionNum = Integer.parseInt(array[i][1]);
mark = Integer.parseInt(array[i][2]);
}
else{
break;
}
int rowIndex = personNum+1+i;
int[] markArray = new int[questionNum];
for(int k=0;k<questionNum;k++){
markArray[k] = Integer.parseInt(array[i+1][k]);
}
for(int k= i+2;k<=rowIndex;k++ ){
////////得到分數 ,從下標為 i+2行到rowIndex
int num = Integer.parseInt(array[k][1]);
int total = 0;
if(num!=0){ //第二列賦值為總分
for(int p=2;p<num+2;p++){
total = total + markArray[Integer.parseInt(array[k][p])-1];
}
array[k][1]=Integer.toString(total);
}
else{
array[k][1]="0";
}
}
///////////////////////////////需要對得到總分刪選,在排序輸出
String[] b = new String[2];
int passnum = 0;
for(int k=0;k<personNum;k++){
for(int p=i+2;p<rowIndex;p++){
// System.out.println(array[p][1]+' '+array[p+1][1]);
if(Integer.parseInt(array[p][1])<Integer.parseInt(array[p+1][1])||
(Integer.parseInt(array[p][1])==Integer.parseInt(array[p+1][1])&&
array[p][1].compareToIgnoreCase(array[p+1][1])>0)){
b[0] = array[p][0];
b[1] = array[p][1];
array[p][0] = array[p+1][0];
array[p][1] = array[p+1][1];
array[p+1][0] = b[0];
array[p+1][1] = b[1];
}
}
}
for(int k=i+2;k<personNum+i+2;k++){
if(Integer.parseInt(array[k][1])>=mark)
passnum++;
}
// System.out.println(passnum);
myFrame.getOutTextArea().append(passnum+"\n");
for(int k=i+2;k<passnum+i+2;k++){
myFrame.getOutTextArea().append(array[k][0]+' ');
myFrame.getOutTextArea().append(array[k][1]+"\n");
}
i=rowIndex+1;
}
}
else if(arg0.getSource() == myFrame.getClearButton()){
myFrame.getInTextArea().setText("");
myFrame.getOutTextArea().setText("");
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -