zoukankan      html  css  js  c++  java
  • 跳蚤移动

    package unit3;
    
    import com.sun.org.apache.xpath.internal.axes.WalkerFactory;
    
    public class House {
        private int m;
        private int n;
        private int[][]a;
        public  House() {
            m=10;
            n=10;
            a=new int[m][n];
            for(int i=0;i<m;i++){
                for(int j=0;j<n;j++){
                    a[i][j]=0;
                }
            }
        }
        public House(int m,int n) {
            this.m=m;
            this.n=n;
            a=new int[m][n];
            for(int i=0;i<m;i++){
                for(int j=0;j<n;j++){
                    a[i][j]=0;
                }
            }
        }
        public int getM() {
            return m;
        }
        public int getN() {
            return n;
        }
        public int[][] getA() {
            return a;
        }
        public int getElement(int i,int j) {
            return a[i][j];
        }
        public void setElement(int i,int j,int value) {
            a[i][j]=value;
        }
        public boolean checkZero() {
            for(int i=0;i<m;i++){
                for(int j=0;j<n;j++){
                    if(a[i][j]==0) return true;
                }
            }
            return false;
        }
        public void  display() {
            for(int i=0;i<m;i++){
                for(int j=0;j<n;j++){
                    System.out.print(" "+a[i][j]+" ");
                }
                System.out.println();
            }
        }
        public class Tiaozao{
            private static final int UP=0;
            private static final int DOWN=1;
            private static final int RIGHT=2;
            private static final int LEFT=3;
            private int x,y;
            private int totals=0;
            private House ahouse;
            public Tiaozao(House h){
                ahouse=h;
                totals=0;
                x=(int)(Math.random()*ahouse.getM());
                y=(int)(Math.random()*ahouse.getN());
            }
            public int getTotals() {
                return totals;
            }
            public boolean walk(int direction) {
                System.out.println("x="+x+", y="+y+", direction="+direction);
                switch (direction) {
                case UP: 
                    if(y==0) {
                        return false;
                    }else{
                        ahouse.setElement(x,y,ahouse.getElement(x,y)+1);
                        y=y-1;
                    }
                    return true;    
                case DOWN:
                    if(y==ahouse.getN()-1){
                        return false;
                    }else{
                        ahouse.setElement(x,y,ahouse.getElement(x,y)+1);
                        y=y+1;
                    }
                    return true;
                case LEFT:
                    if(x==0){
                        return false;
                    }else{
                        ahouse.setElement(x,y,ahouse.getElement(x,y)+1);
                        x=x-1;
                    }
                    return true;
                case RIGHT:
                    if(x==ahouse.getM()-1){
                        return false;
                    }else{
                        ahouse.setElement(x,y,ahouse.getElement(x,y)+1);
                        x=x+1;
                    }
                    return true;
                default:
                    System.out.println("分发移动");return false;
                }
            }
            public void move() {
                int nextdirection;
                boolean success;
                do{
                    nextdirection=(int)(Math.random()*4);
                    success=walk(nextdirection);
                    if(success) totals++;
                }while(ahouse.checkZero());
            }
        
        }
        public static void main(String[] args){
            House ahouse= new House(6,6);
            Tiaozao atiaozao =ahouse.new Tiaozao(ahouse);
            atiaozao.move();
            ahouse.display();
            System.out.println("Totals="+atiaozao.getTotals());
        }
        
    }
  • 相关阅读:
    封装函数通过输入(元素,属性,目标值)改变div样式
    unicode键盘编码表
    js中的索引值
    JavaScript的三大组成部分
    阿望教你用vue写扫雷(超详细哦)
    关于换行以及换行属性
    html中的a标签详解
    利用GitHub Pages + jekyll快速搭建个人博客
    本博客文章转载,请注明出处
    git clone克隆项目太慢,或者直接导致克不下来的解决办法(转载请注明出处)
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/5686767.html
Copyright © 2011-2022 走看看