我正在爲我的Intro to Java課程進行一項任務,目前我正試圖對整數數組進行排序。類型轉換點值
我從點對象數組中獲取值p
,並將它們傳遞給相同大小的int數組pSize
。我所需要的是將點對象的值x
作爲類型轉換爲int
並獲取數組排序。但是,這不是發生。下面是代碼:
import java.util.*;
import java.awt.*;
public class doCheckWin {
// Class Fields
private Point[] p;
private static int pSize;
/*
Class Constructor.
Creates an array of point objects that holds the user's
location of pieces.
*/
public doCheckWin(Point[] p) {
this.p = p;
pSize = p.length;
}
public void checkHorizontal() {
int[] col = new int[pSize];
for(int i=0; i<p.length; i++) {
col[i] = (int)p[i].getX();
}
Arrays.sort(col);
System.out.println(Arrays.toString(col));
}
}
這裏的從另一個classthat該方法通過點對象:
public void checkWin(Point[] p) {
doCheckWin dcw = new doCheckWin(p);
dcw.checkHorizontal();
}
當我打印陣列篩選,的值是整數...用getX
它們改變爲雙但類型轉換到int
當它不工作...
的問題是:
- 將類型爲
x
(即:10.0)的值轉換爲整數不起作用。當在屏幕上輸出結果時,我仍然得到10.0。 Arrays.sort(col)
未排序數組。
什麼我得到
10.0
13.0
12.0
11.0
3.0
的輸出樣本什麼我想要
3
10
11
12
13
編輯:下面是用來打印出數組的代碼:
Arrays.sort(col);
for(int i=0; i<col.length; i++) {
System.out.println(col[i]);
}
是否確定要打印正確的陣列? – Kylo
你正在打印col還是p?你能顯示打印代碼嗎? –
你可以添加你用來打印數組的代碼嗎?也不需要創建一個新的Point對象或強制轉換 - 只需要這樣做:col [i] = p [i] .x;最簡單的選擇通常是最好的選擇。 :) –