好了,所以我做了一個簡單的程序,實踐中的java多類,但我不beeing能夠找到這個問題的解決方案:使2個變量等於函數,VAR 1自動變更值VAR2
我有2 int[][]
變量(座標),coords1
和coords2
,都等於誰問的座標輸入功能,
奇怪的部份是第一個輸入後,coords1
得到它的值,然後我輸入coords2
,這也得到它的價值,但在同一時間coords1
會自動獲得相同的值coords2
,我不知道爲什麼,這裏的代碼:
if(simbolo.equals("circulo") || simbolo.equals("Circulo") || simbolo.equals("Circle") || simbolo.equals("circle")){
circulo.setColour();
colour1 = circulo.getColour();
circulo.setColour(); //circulo 2
colour2 = circulo.getColour();
coords1 = circulo.getCoords(); //IMPORTANT PART
System.out.println("coords1: " + coords1[0][0] + " " + coords1[0][1]);//IMPORTANT PART
coords2 = circulo.getCoords();//circulo2 //IMPORTANT PART
//System.out.println("coords2: " + coords2[0][0] + " " + coords2[0][1]);
System.out.println("2-coords1: " + coords1[0][0] + " " + coords1[0][1]);//IMPORTANT PART
circulo.setRaio();
r1 = circulo.getRario();
circulo.setRaio(); //circulo2
r2 = circulo.getRario();
area1 = calcCircleArea(r1);
perimetro1 = calcCirclePerimeter(r2);
area2 = calcCircleArea(r1);//circulo2
perimetro2 = calcCirclePerimeter(r2);
distance = Distance(coords1, coords2);
System.out.println("A distância entre os centros dos círculos é: " + distance);
intersection = Intersects(distance, r1, r2);
System.out.println(intersection);
}
第一System.out.println("coords1: " + coords1[0][0] + " " + coords1[0][1]);
會讓我比System.out.println("2-coords1: " + coords1[0][0] + " " + coords1[0][1]);
這裏不同的值的函數setCoordinates()
:
public int[][] center = new int[1][2];
Scanner scan = new Scanner(System.in);
public int[][] setCoordinates(){
System.out.println("Introduza a coordenada do centro: x ");
center[0][0] = scan.nextInt();
System.out.println("y: ");
center[0][1] = scan.nextInt();
System.out.println("Centro atual: " + Arrays.toString(center[0]));
return center;
}
類功能circulo
getCoords()
只能從這個返回值。
編輯:"IMPORTANT PART"
是我用這些變量
一定有什麼東西我不這樣做的權利,但在哪裏?
謝謝