金针菇 发表于 2006-6-26 20:52:12

考试题目,帮帮忙啊!!!

1.写出〈〈〉〉尖括号内代码的作用(已知原始图片像素大小:宽192*高96)
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
public class TiledCanvas extends GameCanvas {
        private Image titledImage;
        private Graphics g;
        private TiledLayer background;
        ①<<private byte[][] titledMap = { {1,2,3},
                        {4,5,6},
                        {7,8,9},                        
                        {7,7,7},
                        {7,7,7},
                        {7,7,7}};>>
        protected TiledCanvas() {
                super(true);
                try {                       
                        titledImage = Image.createImage("/title1.png");
                } catch (Exception e) {        }
                g = this.getGraphics();       
                ②<<background = new TiledLayer(3,6,titledImage,64,32);>>
                for(int i=0;i<6;i++)                       
                        for(int j=0;j<3;j++){
                                ③<<background.setCell(j,i,titledMap);>>
                        }
                ④<<background.paint(g);
                flushGraphics();>>
                }
}
答:




2.写出〈〈〉〉尖括号内代码的作用(已知原始图片像素大小:宽96*高192)
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
public class SpriteCanvas extends GameCanvas implements Runnable{
        private int drawX = 0;
        private int drawY = 0;       
        private Sprite sprite;
        private Image spriteImage;
        private Graphics g;
        ①〈〈private int down_seq[] = {0,1,2}; 〉〉
        protected SpriteCanvas() {
                super(true);
                try{
                        spriteImage = Image.createImage("/man.png");                       
                }catch(Exception e){}               
                ②〈〈sprite = new Sprite(spriteImage,32,48);
                sprite.setFrameSequence(down_seq);〉〉
                g = this.getGraphics();
                Thread thread = new Thread(this);
                thread.start();               
        }       
        public void run() {
                while(true){
                        try {
                                ③〈〈Thread.sleep(100);〉〉
                        } catch (InterruptedException e) {                               
                                e.printStackTrace();
                        }                       
                        g.setColor(255,255,255);
                        g.fillRect(0,0,getWidth(),getHeight());                       
                        ④〈〈sprite.nextFrame();〉〉
                        if(drawY + 5 < getHeight()){
                                drawY = drawY +5;
                                sprite.setPosition(drawX,drawY);
                        }
                        else{
                                drawY = 0;
                                sprite.setPosition(drawX,drawY);
                        }
                        sprite.paint(g);
                        flushGraphics();
                }
        }
}
答:







3.简述Comparator类所起的作用,写出程序运行的结果。
import javax.microedition.midlet.*;
import javax.microedition.rms.*;
public class RecordSort extends MIDlet {
        private RecordStore rs=null;
        static final String REC_STORE="db_1";
        public RecordSort() {
                openRecStore();
                writeRecord("Shanghai");
                writeRecord("SiChuan");
                writeRecord("ChengDu");
                writeRecord("BeiJing");
                readRecords();               
                closeRecStore();//关闭RecordStore
                deleteRecStore();//删除RecordStore
        }
        public void openRecStore(){
                try{
                        //如果RecordStore不存在,就创建新的
                        rs=RecordStore.openRecordStore(REC_STORE,true);                       
                }catch (Exception e){
                        db(e.toString());
                }
        }
       
        public void readRecords(){
                try{
                        if(rs.getNumRecords()>0){
                                Comparator comp=new Comparator();                               
                                RecordEnumeration re=rs.enumerateRecords(null,comp,false);
                                while(re.hasNextElement()){
                                        String str=new String(re.nextRecord());
                                        System.out.println(str);
                                        System.out.println("-----------------------");
                                }
                        }
                }catch(Exception e){
                        db(e.toString());
                }
                。。。代码略
        }


        class Comparator implements RecordComparator{
                public int compare(byte[] rec1,byte[] rec2){
                        String str1=new String(rec1);
                        String str2=new String(rec2);                       
                        int result=str1.compareTo(str2);
                        if(result==0)
                                return RecordComparator.EQUIVALENT;
                        else if(result<0)
                                return RecordComparator.PRECEDES;
                        else
                                return RecordComparator.FOLLOWS;
                }
        }       
}

4.阅读代码写出程序运行结果
如果解除三行代码的注释,这三行代码的运行结果是什么?
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class translateOrigin extends MIDlet implements CommandListener {
        private Command exitCommand;
        private translateOriginCanvas sg;
        public translateOrigin() {
                exitCommand = new Command("Exit", Command.EXIT, 1);
                sg = new translateOriginCanvas();
                sg.addCommand(exitCommand);
                sg.setCommandListener(this);
                Display.getDisplay(this).setCurrent(sg);
        }
        protected void startApp() {        }
        protected void pauseApp() {        }
        protected void destroyApp(boolean arg0) { }
        public void commandAction(Command c, Displayable d) {
                if (c == exitCommand) {
                        destroyApp(false);
                        notifyDestroyed();
                }
        }
}
class translateOriginCanvas extends Canvas {
        protected void paint(Graphics g) {
                for (int i = 1; i <= 5; i++) {
g.drawString("String--"+ String.valueOf(i), 0, 0, Graphics.TOP |
Graphics.LEFT);
                       g.translate(20,20);
                }
                /*①String s = String.valueOf(g.getTranslateX());
                ②g.translate(-100,-100);
                ③g.drawString(s,0,0,Graphics.TOP | Graphics.LEFT);
      */
        }
}

金针菇 发表于 2006-6-27 10:18:56

难道大家都不会阿

dandan 发表于 2006-6-27 12:36:45

不好意思,

看了下,不过,没接触过,帮不上你!

金针菇 发表于 2006-6-28 22:17:28

额……
真的好失望
页: [1]
查看完整版本: 考试题目,帮帮忙啊!!!