不好意思想請問各位版大,http://ppt.cc/hmGY
\*
*此Method是在寫我從textField抓下來的字串放在Array中並排序後找第K大的數
*其中k1表示的是我輸入要找第K大的數的"K"
*而k2是Array長度
*
*會這樣寫是希望我輸入的K超過Array長度的話就顯示Array長度的那個數就好
*example:我Array只有Array[3],但我輸入我要找第4大的數
*那麼就輸出(第3大的數為:XX)還是輸出3
*/
Code如下:
public String compareString(String k1, String k2){
int a = k1.compareTo(k2);
if(a==0){
return k2;
}else if(a==1){
return k2;
}
else{
System.out.println(k2);
return k1;
}
}
但我的問題如圖右http://ppt.cc/hmGY
我其中輸入的K值是4(假設Array.length是3)的話還是可以如我預期的想法輸出
但是大於4的話就開始跑出
第5大的數為:XX....
第6大的數為:XX....
所以想請問各位大大我哪裡寫錯了?
補上addActionListener的Code:
/*
*
*其中K就是我要找第K大的K
*text是我用getText抓下來輸入字串的並用split方法切割
*showK就是用上面的CompareString Method
*
*
*
*/
JButton btnk = new JButton("\u627E\u7B2CK\u5927\u9805");
btnk.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String K;
String text;
text = textField.getText();
K = textField_1.getText();
MyA = new MyArrays(text);
String showK = MyA.compareString(K, MyA.getArrayLength());
String kItem = Integer.toString(MyA.showKItem(K));
textArea.setText("第"+showK+"大項為 : "+kItem);
}
});
◆ From: 140.115.238.21
※ 編輯: pugboy 來自: 140.115.224.3 (11/08 16:35)