影音先锋AⅤ天堂资源站,13小箩利洗澡无码视频APP,午夜理论片日本中文在线,最近新免费韩国日本电影

萬能百科  > 計算機?  > 

[問答題] 下面是一個Applet程序,其功能是構(gòu)造n階魔方陣,魔方陣是這樣一個方陣,它的每一行,每一列和對角線之和均相等,例如三階魔方陣為: 8 1 6

2021-07-20   

[問答題] 下面是一個Applet程序,其功能是構(gòu)造n階魔方陣,魔方陣是這樣一個方陣,它的每一行,每一列和對角線之和均相等,例如三階魔方陣為:

8 1 6

3 5 7

4 9 2

要求用Applet實現(xiàn)上述魔方陣,窗口中包括提示欄,提示輸入0~15之間的奇數(shù):輸入框,輸入方陣的階數(shù):按鈕,點擊則輸出魔方陣;畫布用于輸出結(jié)果。請改正程序中的錯誤(有下劃線的語句),使程序能輸出正確的結(jié)果。

注意:不改動程序的結(jié)構(gòu),不得增行或刪行。程序運行結(jié)果如下:

   

import java.awt.*;

import java.awt.event.*;

import java.applet.Applet;

import java.lang.Math.*;

/*

<applet code="ex19_3.class" width=800 height=400 >

</applet>

*/

public class ex19_3 extends Applet implements ActionListener

Panel pane=new Panel();

drawWnd dw;

Label 11 = new Label("輸入 (0~15的奇數(shù)) : ");

TextField tf1 = new TextField(5);

Button btn = new Button("OK");

int[] [] a=new int[16] [16];

int n=15;

public void init()

pane.

正確答案:

btn.a(chǎn)ddActionListener(this) a[1]][j]=1 int k=2;k<=n*n;k++

參考解析:

本題主要考查Applet圖形界面編程和for循環(huán)語句的使用以及對數(shù)組操作。解題關(guān)鍵是明白魔方陣的基本原理,并能看得懂這個問題的算法,熟悉數(shù)組操作,for循環(huán)語句以及Applet界面構(gòu)件及其事件處理機制。魔方陣的排列規(guī)律是:首先將 1放在第一行中間一列;然后從2開始直到n*n為止,各數(shù)依次按如下規(guī)則存放:每一個數(shù)存放的行比前一個數(shù)的行數(shù)減1、列數(shù)加1;然后如果上一個數(shù)的行數(shù)為1,則下一個數(shù)的行數(shù)為n;再次當(dāng)上一個數(shù)的列數(shù)為n時,下一個數(shù)的列數(shù)應(yīng)改為1,行數(shù)減1;最后如果按以上規(guī)則確定的位置上的已有數(shù),或上一個數(shù)是第1行第n列時,則把下一個數(shù)放在上一個數(shù)的下面。本題中,第一處,事件監(jiān)聽器應(yīng)該是btn對象的,不是pane對象;第二處,應(yīng)該按照上述規(guī)則第一條,將1放在第一行中間一列;第二處,循環(huán)變量應(yīng)該從2開始,如果是1得不到正確答案。

詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。

標簽

<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>