程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> java源碼-求解思路和源碼⋯⋯⋯⋯

java源碼-求解思路和源碼⋯⋯⋯⋯

編輯:編程解疑
求解思路和源碼⋯⋯⋯⋯

這個題目沒太看懂求思路和源碼⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯圖片說明

最佳回答:


有代碼,思路自己看。。。
import java.util.*;

public class A
{
static char[][] Zu;

static class Tur
{
    int dr = 0;
    int di = -1;

    int x = 0;
    int y = 0;

    void left()
    {
        int dr2 = di;
        int di2 = -dr;
        dr = dr2;
        di = di2;
    }
    void right()
    {
        int dr2 = -di;
        int di2 = dr;
        dr = dr2;
        di = di2;
    }
    void dot()
    {
        //System.out.println(x+","+y);
        Zu[x][y] = '$';
    }
    void go()
    {
        x += dr;
        y += di;
    }
}

static void show()
{
    for(int i=0; i<Zu.length; i++)
    {
        for(int j=0; j<Zu[i].length; j++)
        {
            if(Zu[i][j]>0)
                System.out.print(Zu[i][j]);
            else
                System.out.print('.');
        }
        System.out.println();
    }
}

static void f(int n, int x0, int y0)
{
    Tur tur = new Tur();
    tur.x = x0+2;
    tur.y = y0+2;

    for(int k=0; k<4; k++)
    {
        for(int i=0; i<2; i++){
            tur.dot(); 
            tur.go();
        }
        tur.right();
        for(int i=0; i<4*n; i++){
            tur.dot(); 
            tur.go();
        }
        tur.right();
        for(int i=0; i<2; i++){
            tur.dot(); 
            tur.go();
        }
        tur.left();
    }       
}

static void test(int n)
{
    Zu = new char[4*n+5][4*n+5];

    for(int i=n; i>=0; i--)
        f(i,2*n-i*2,2*n-i*2);

    show();     
}

public static void main(String[] args)
{
    test(5);//輸出5個
    //test(13); 
}
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved