`
robinham2006
  • 浏览: 1063 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

最近作project遇到两个问题,请

阅读更多

import javax.swing.JOptionPane;

class heapsort
{
   public static int size; //matrix size
  
   public static int heap_size; //heap size 
 
  public int left(int i)  //look for left child
  {
    return 2*i;  
  }
 
  public int right(int i) //look for right child
  {
    return 2*i+1; 
  }
  //keep the property of heap
  public void maxHeapify(int A[],int i) //A matrix; i current node code
  {
    int l,r,largest;
    int temp;
    l=left(i);
    r=right(i);
    if((l<= heap_size)&&( A[l] > A[i]))
       largest=l;
    else largest=i;
    if((r<=heap_size)&&(A[r] > A[largest]))
       largest=r;
    if( largest!=i)
     {
       temp=A[i];
       A[i]=A[largest];
       A[largest]=temp;
     } 
     maxHeapify(A, largest);
  }
 
  //build a heap
  public void buildHeap(int A[])
  {
    int i;
    heap_size=A.length;
    for(i=A.length/2;i>=1;i--)
           maxHeapify(A, i);
  }
 
  //heapsort algorithm
  public void heapSort(int A[])
  {
    int i,temp;
    buildHeap(A);
    for(i=A.length/2;i>=2;i--)
    {
      temp=A[1];
      A[1]=A[i];
      A[i]=temp;
    }
    heap_size=heap_size-1;
    maxHeapify(A, 1);
  }
 
  public static void main(String args[])
  {
   size= Integer.parseInt( JOptionPane.showInputDialog(null,"请输入数组的大小,size:") ); 
    int seq[]=new int[size];
    for(int i=0;i        seq[i]=Integer.parseInt( JOptionPane.showInputDialog(null,"请依次输入数组的元素,seq["+i+"]=") );
    System.out.print("以下为您输入的数组元素:");
    System.out.println("");
    for(int i=0;i         System.out.print(seq[i]+" ");
       
    heapsort heap=new heapsort();
    heap.buildHeap(seq);  
    heap.heapSort(seq); 
  }

}

该程序是我做的一个heapsort,编译通过,但是执行时说是数组越界,请指点迷津,谢谢!!!

 


class TimeTable
{
 
 
  public static int order; // the orders of 2;
 
  public static int num; // the whole number,num=the ith order of 2;
 
 int table[][]=new int[num][num];
 
 //构造方法,初始化
 public TimeTable()
 {
 
  int i,j;
  for(i=0;i   {
   for(j=0;j    {
    table[i][j]=0;
   }
  }
 }
 //核心算法
 void Table(int k)
  {
   
    int n=1;
    for(int i=1;i<=k;i++)
        n*=2;   //n=2^k
    for(int i=1;i<=n;i++)
        table[1][i]=i; // the elements of 1st row of the table is given
   
   int m=1;
   
    for(int s=1;s<=k;s++)
    {
      n/=2;
     
     for(int t=1;t<=n;t++)
      {
        for(int i=m+1;i<=2*m;i++)
        {
          for(int j=m+1;j<=2*m;i++)
          {
           table[i][j+(t-1)*m*2]=table[i-m][j+(t-1)*m*2-m];
           table[i][j+(t-1)*m*2-m]=table[i-m][j+(t-1)*m*2];
          }
         
        }
     
      }
      m*=2; 
    }
    
  }
 

 void display()
 {
  int i,j;
  for(i=1;i   {
   for(j=1;j    {
    if(table[i][j]<10)
    System.out.print("   "+table[i][j]);
    else
    System.out.print("  "+table[i][j]);
   }
   System.out.println("");
  }
 }
 
 
 public static void main(String args[])
 {
  
  
   order = Integer.parseInt( JOptionPane.showInputDialog(null,"输入人数,2的k次方 k=\n") ); 
   num=(int)Math.pow(2,order);
   num++; //数组默认下标从0开始,因此加大数组
  
   System.out.print("num is "+num+"         ");
   System.out.print("order is "+order);
   
   System.out.println("");
  
   TimeTable TT=new TimeTable();
  
   TT.Table(order);
  
   TT.display();
 }
}

 

出现的问题同上,还是数组越界!!!

搞不懂是在调用算法函数过程中出现了什么问题!!

本人刚学java,还请指点一二!!

分享到:
评论

相关推荐

    Project2003-2007转换器

    在Microsoft Project中,不同的版本可能支持不同的文件格式,这可能导致在不同版本之间打开和编辑项目文件时遇到兼容性问题。转换器的存在就是为了消除这种障碍,使得用户能够在新旧版本之间自由地迁移和协作。 ...

    Project

    在遇到问题时,首先要确保这两个文件没有损坏,其次检查它们是否与操作系统和任何依赖的库兼容。如果需要更深入地理解或解决问题,可能需要查看项目的源代码、编译设置以及错误日志。同时,理解软件工程的基本概念,...

    Office Project Server 2007 部署图示指南.pdf

    这份文档不仅涵盖了Project Server的基本部署步骤,还特别强调了与Office SharePoint Server 2007的集成过程,因为这两个组件通常一起使用,以提供全面的项目管理和协作解决方案。 首先,让我们深入了解一下Office ...

    project项目.zip

    通过这个项目,学习者可以实际操作这些组件,理解它们如何协同工作,以及在遇到问题时如何利用断路器和监控工具来调试和优化服务。 【学习路径】 1. **环境搭建**:安装Java、Maven、Docker等基础环境,以及Spring...

    eclipse下创建的tomcat project和web Dynamicproject的区别

    在Eclipse这个强大的Java集成开发环境中,我们常常会遇到两种类型的项目:Eclipse下的Tomcat Project和Web Dynamic Project。这两种项目类型虽然都是用于开发Web应用,但它们在用途、结构和配置上存在一定的差异。 ...

    project darkstar 中文文档

    这份中文文档正是为了解决这一问题,尽管翻译质量可能不尽如人意,但仍然可以作为参考,帮助理解原版英文文档,尤其在遇到不清晰的部分时,可以结合英文原文进行对比阅读。 **一、项目暗星的核心特性** 1. **...

    project.7z

    根据压缩包子文件的文件名称列表,我们有两个文件:agent-netty-client和agent-netty。这可能意味着项目不仅包括服务器端,还有客户端的部分。`agent-netty-client`可能是Netty实现的TCP客户端,用于与`agent-netty`...

    JBoss部署Web Project时的问题——请刷新

    最后,对于【压缩包子文件的文件名称列表】中的"JBoss部署Web Project时的问题——更改不能显示结果请刷新",这可能是具体的日志或错误信息,通过分析这些内容可以进一步定位问题所在。记住,详细的错误日志是解决...

    VS2015安装证书,JavaScript_ProjectSystem.msi,JavaScript_LanguageService.msi

    在这个场景中,我们关注的是VS2015的安装过程中涉及到的证书问题以及两个特定的组件:JavaScript_ProjectSystem.msi和JavaScript_LanguageService.msi。 首先,关于“VS2015安装证书”,这通常是指安装过程中需要...

    MainProject.rar

    1. `src/` - 存放源码的目录,通常分为`main`和`test`两个子目录,分别存放主要代码和测试代码。 2. `lib/` 或 `dependencies/` - 存放项目依赖的第三方库文件。 3. `build/` 或 `dist/` - 构建结果或打包后的可执行...

    ITIL Project Management Methodology (Word ver)

    9. **问题升级路径**:双方均需建立问题升级流程,确保在项目中遇到的问题能得到及时解决。这在详细计划的最终确定阶段就需要设定。 10. **沟通与协作**:在整个项目生命周期中,良好的沟通是关键。ITIL和客户需...

    Failed to load VBA project for display

    标题中的“Failed to load VBA project for display”和描述中提到的问题是用户在尝试编辑RSView SE(一种工业人机界面软件)中的图形显示VBA代码时遇到的错误。这个错误提示表明系统无法加载VBA(Visual Basic for ...

    Project2007教程_1.pdf

    Project 2007是该系列软件的一个版本,包括Project Standard和Project Professional两个版本。 2. **Project Standard与Project Professional** 文档区分了Project Standard版和Project Professional版。Project ...

    guardianproject-openssl-android-1a3c579

    这个过程可能会遇到各种问题,如依赖库不兼容、内存管理差异、CPU指令集支持等。因此,理解Android的NDK编译机制和OpenSSL的内部工作原理至关重要。通过这种方式,开发者可以在Android应用中实现高效且安全的加密...

    Eclipse Web Project转Dynamic Project

    本文将详细介绍如何将一个Eclipse Web Project转换成Dynamic Project的过程。 #### 二、背景知识 在了解具体的转换方法之前,我们需要先了解Java Project与Dynamic Web Project之间的区别: 1. **Java Project**...

    解决Xilinx_ISE 14.7在Win10下打不开及选择“open project”崩溃闪退的问题

    首先需要找到Xilinx_ISE的安装目录下的两个特定文件夹,并按照以下步骤操作: 1. **位置1**:`D:\Xilinx\14.7\ISE_DS\ISE\lib\nt64` - 将`libPortability.dll`重命名为`libPortability.dll.orig`。 - 复制`...

    CAPM/PMP Project Management Certification

    CAPM(Certified Associate in Project Management)和PMP(Project Management Professional)是两个由项目管理专业人士协会(Project Management Institute,简称PMI)认证的资格证书,它们被广泛认为是项目管理...

    关于eclipse发布web项目中遇到的问题

    然而,在使用 Eclipse 发布 Web 项目时,可能会遇到一些问题,这篇文章将解决两个常见的问题。 第一个问题是 Eclipse 无法识别 Web 项目。在某些情况下,Eclipse 无法将导入的 Web 项目识别为 Web 项目,从而无法...

    C++技术和开发中遇到的问题总结

    首先在工作区的FileView中选中该类的.h和.cpp文件,按delete删除,然后在文件管理器中将这两个文件删除,再运行ClassWizard,这时出现是否移走该类的提示,选择remove就可以了。 九、如何将在workspace中消失的类找...

Global site tag (gtag.js) - Google Analytics