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

📄 resource.java

📁 一个整体操作系统的主要功能的计算机模拟实现(含进程、内存与设备管理)
💻 JAVA
字号:
package design;
import java.io.*;

/**
 * <p>Title: 操作系统课程设计</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: </p>
 * @author 胡波
 * @version 1.0
 */

public class resource {
  int[] resourceNeeded;
  int[] resourceGetted;
  int[] resourceNoGetted;

  public void setResourceNeeded(int[] a){
    resourceNeeded=new int[a.length];
    resourceGetted=new int[a.length];
    resourceNoGetted=new int[a.length];/*
    resourceNeeded=new int[4];
    resourceGetted=new int[4];
    resourceNoGetted=new int[4];*/
    for(int i=1;i<=a.length-1;i++){
      resourceNoGetted[i]=resourceNeeded[i] = a[i];
      resourceGetted[i]=0;
    }
  }
  public void setResourceGeted(int[] a){
    for(int i=1;i<=a.length-1;i++)
      resourceGetted[i]=a[i];
  }
  public boolean sourceNoGetted(){
    for(int i=1;i<=resourceNeeded.length-1;i++)
      resourceNoGetted[i]=resourceNeeded[i]-resourceGetted[i];
    for(int i=1;i<=resourceNeeded.length-1;i++)
      if(resourceNoGetted[i]<0){
        System.out.println("Error,未得资源向量小于0-----Resource.sourceNoGetted");
        return false;
      }
      return true;
    }
    public boolean sourceFull(){
     for(int i=1;i<=resourceNeeded.length-1;i++)
      if(resourceNoGetted[i]!=0)
        return false;
      return true;
    }

  public boolean addResource(){//添加分配
    for(int i=1;i<=resourceNeeded.length-1;i++)
      resourceGetted[i] += resourceNeeded[i];
    return sourceNoGetted();
    /*for(int i=1;i<=resourceNeeded.length-1;i++)
      resourceNoGetted[i]=resourceNeeded[i]-resourceGetted[i];
    return true;*/
  }

  public resource(int [] a) {//抛弃下标为0的元素
    resourceNeeded=new int[a.length];
    resourceGetted=new int[a.length];
    resourceNoGetted=new int[a.length];
    for(int i=1;i<=a.length-1;i++)
      resourceNeeded[i]=a[i];
    sourceNoGetted();
  }
  public boolean allGet(int [] a){//完全分配
    for(int i=1;i<=a.length-1;i++)
      resourceGetted[i] = a[i];
    return sourceNoGetted();
  /*for(int i=1;i<=resourceNeeded.length-1;i++)
    resourceNoGetted[i]=resourceNeeded[i]-resourceGetted[i];
  return true;*/
  }
  public boolean bestGet(int [] a){//尽力分配
    for(int i=1;i<=a.length-1;i++)
      resourceGetted[i] = a[i];
    return sourceNoGetted();
  /*for(int i=1;i<=resourceNeeded.length-1;i++)
    resourceNoGetted[i]=resourceNeeded[i]-resourceGetted[i];
  return true;*/
  }

}

⌨️ 快捷键说明

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