⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toolkit.java

📁 初学者的佳音 初学者的佳音 初学者的佳音 初学者的佳音 初学者的佳音
💻 JAVA
字号:
package lib;

import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import java.io.*;

//工具包
public class Toolkit{
  private static java.util.Random random=new java.util.Random();

  private Toolkit(){
  }

  //区域绘制
  public static void drawRegion(Graphics g,Image src,int srcX,int srcY,int width,
                                int height,int destX,int destY){
    int tarX,tarY;
    tarX=destX-srcX;
    tarY=destY-srcY;
    g.setClip(destX,destY,width, height);
    g.drawImage(src,tarX,tarY,0);
    g.setClip(0,0,XCanvas.WIDTH,XCanvas.HEIGHT);
//    g.drawRegion(src,srcX,srcY,width,height,javax.microedition.lcdui.game.Sprite.TRANS_NONE,
//                 destX,destY,0);
  }
  public static void drawRegion(Graphics g,Image src,Rectangle rect,int destX,int destY){
    drawRegion(g,src,rect.x,rect.y,rect.width,rect.height,destX,destY);
  }
  public static void drawRegion(Graphics g,Image src,Rectangle rect,Point point){
    drawRegion(g,src,rect.x,rect.y,rect.width,rect.height,point.x,point.y);
  }
  //平铺
  public static void drawTile(Graphics g,Image src,int destX,int destY,int width,int height){
    for(int i=destX;i<destX+width;i+=src.getWidth())
      for(int j=destY;j<destY+height;j+=src.getHeight()){
        g.drawImage(src,i,j,0);
      }
  }
  //获得随机数
  public static int getInt(int start,int end){
    int max,min;

    if(start==end)
      return start;

    if(start>end){
      max=start;
      min=end;
    }
    else{
      max=end;
      min=start;
    }
    return Math.abs(random.nextInt())%(max-min+1)-(0-min);
  }

  //写数据
  public static void writeData(int[] intData) throws Exception{
    RecordStore rs=RecordStore.openRecordStore("data",true);
    RecordEnumeration re=rs.enumerateRecords(null,null,false);
    ByteArrayOutputStream bout=new ByteArrayOutputStream();
    DataOutputStream dout=new DataOutputStream(bout);

    //写int数据
    if(intData!=null) {
      for(int i=0;i<intData.length;i++)
        dout.writeInt(intData[i]);
    }

    byte[] data=bout.toByteArray();
    if(re.hasNextElement()){
      rs.setRecord(re.nextRecordId(),data,0,data.length);
    }
    else{
      rs.addRecord(data,0,data.length);
    }
    rs.closeRecordStore();
  }

  //读数据
  public static boolean readData(int[] intData) throws Exception{
    RecordStore rs=RecordStore.openRecordStore("data",true);
    RecordEnumeration re=rs.enumerateRecords(null,null,false);
    ByteArrayInputStream bin;
    DataInputStream din;

    if(re.hasNextElement()){
      bin=new ByteArrayInputStream(re.nextRecord());
      din=new DataInputStream(bin);

      //读int数据
      if(intData!=null){
        for(int i=0;i<intData.length;i++)
          intData[i]=din.readInt();
      }

      rs.closeRecordStore();
      return true;
    }
    else{
      rs.closeRecordStore();
      return false;
    }
  }
  //分解数字1
  public static void analyzeNum1(int num,int[] result){
    int[] buffer=new int[20];
    int count=0;
    do{
      buffer[count] =num%10;
      num/=10;
      count++;
    }while(num!=0);
    buffer[count]=count;
    for (int i=0;count>=0;count--,i++){
      result[i]=buffer[count];
    }
  }
  //分解数字2
  public static void analyzeNum2(int num,int[] result){
    for(int i=result.length-1;i>=0;i--){
      result[i]=num%10;
      num=num/10;
    }
  }
  //排序
  public static void sort(int[] num,int count,boolean order){
    int tmp;
    int index;

    for(int i=0;i<count-1;i++){
      index=i;
      for(int j=i;j<count;j++){
        //降序
        if(order && num[j]>num[index])
          index=j;
        //升序
        else if(!order && num[j]<num[index])
          index=j;
      }
      tmp=num[i];
      num[i]=num[index];
      num[index]=tmp;
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -