所以我得到了这段代码:
import java.util.Scanner;
import java.awt.Point;
import static java.lang.System.out;
class Polygon
{
public static void main (String[] args)
{
Scanner in = new Scanner (System.in);
out.print ("the number of vertices in the polygon: ");
int n = in.nextInt ();
Point[] v = new Point[n];
int x = 0;
int y = 0;
for (int i = 0; i < n; i++)
{
out.print ("vertex " + (i + 1) + ": ");
x = in.nextInt ();
y = in.nextInt ();
v[i] = new Point (x, y);
}
out.println ();
out.println (toString (v));
out.println (perimeter (v));
}
public static double perimeter (Point[] v)
{
double perimeter = 0;
for (int i = 0; i < v.length; i++)
perimeter += v[i].distance (v[(i + 1) % v.length]);
return perimeter;
}
public static String toString (Point[] v)
{
StringBuilder s = new StringBuilder ("[");
for (int i = 0; i < v.length; i++)
s.append ("(" + v[i].x + ", " + v[i].y + ")");
s.append ("]");
return s.toString ();
}
}
基本上,程序显示所有顶点的String表示和多边形的周长。
但在一个问题中,我被问到:
绘制包含多边形顶点的矢量。执行方法边界时哪些引用引用此向量以及执行方法toString时哪些引用?
所以我已经绘制了矢量,所以不用担心。但是,问题的第二部分中“哪个参考引用了这个向量”是什么意思?
答案 0 :(得分:0)
它们的意思是,有多少变量指向(引用)内存中的矢量数据。例如,执行v
时,变量(或“引用”)perimeter()
“将[s]引用到此向量”