[問答題] 下面是一個Applet程序,其功能是用一組坐標點繪制一個多邊形,并通過沿坐標的垂直方向移動,把它移到窗口的下半部分,然后填充它。請改正程序中的錯誤(
[問答題] 下面是一個Applet程序,其功能是用一組坐標點繪制一個多邊形,并通過沿坐標的垂直方向移動,把它移到窗口的下半部分,然后填充它。請改正程序中的錯誤(有下劃線的語句),使程序能輸出正確的結(jié)果。
注意:不改動程序的結(jié)構(gòu),不得增行或刪行。
源程序文件清單如下:
import java.awt.*;
import java.applet.*;
/*
<applet code="ex11_3.class" width=800 height=400>
</applet>
*/
public class ex11_3 extends Applet
int[] x = 15,50,100,160,120,190;
int[] y = 15,100,30, 15, 80, 50;
public void init()
setBackground(Color.lightGray);
public void paint(Graphics g)
int[] y2 = new int[6];
g.setColor(Color.red);
Rectangle rect = getBounds();
g.drawPolygon(x, y2,6);
for(int i=0; i<6; i++)
y2[i] = y[i] + (rect.height / 2);
g.fillPolygon(x,y, 6);
ex11_3.html&l
正確答案:g.drawPolygon(x,y,6).y2[i]+=y[i]+(rect.height/2)g.fillPolygon(x,y2,6)
參考解析:本題主要考查Applet窗口編程和圖形繪制的綜合應用。解題關(guān)鍵是熟悉上述考點的基本要求,使用Graphics類的drawPolygon()和fillPolygon()方法繪制任意形狀的圖形,并且能結(jié)合數(shù)組進行編程實現(xiàn)。本題中第1處,第2個參數(shù)應該是y,而不是y2, y2還沒有初始化;第2處,注意y2數(shù)組中的值是需要進行累加的,因此需要使用符號 +=;第3處,fillPolygon()方法的第2個參數(shù)應該是y2,繪制新的圖形并填充,若是y則不能繪制新的圖形。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。