萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 703|回复: 4

能编译,无法执行。请各位帮忙改一下

[复制链接]
发表于 2004-6-2 15:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
一个小程序,用来创建队列接口的,能编译,但是无法执行,麻烦各位修改一下。
[php]

public interface ICharQ{
       
        void put(char ch);
        char get();
       
        }
       
        class FixedQueue implements ICharQ{
                private char q[];
                private int putloc,getloc;
               
                public FixedQueue(int size){
                        q=new char[size+1];
                        putloc=getloc=0;
                }
               
                public void put(char ch){
                        if(putloc==q.length-1) {System.out.println("Queue is full");
                        return;
                }
                putloc++;
                q[putloc]=ch;
                                       }
                public char get(){
              if(putloc==getloc) {System.out.println("Queue is empty.");
              return (char) 0;
                   }
               getloc++;
               return q[getloc];
        }
        }

class CircularQueue implements ICharQ{
        private char q[];
        private int putloc,getloc;
       
        public CircularQueue(int size){
                q=new char[size+1];
                putloc=getloc=0;
                }
       
        public void put(char ch){
                if(putloc+1==getloc|((putloc==q.length-1)&(getloc==0))){
               
                System.out.println("Queue is full.");
            return;       
        }
        putloc++;
        if(putloc==q.length) putloc=0;
        q[putloc]=ch;
                   }
         public char get(){
                 if(getloc==putloc) {System.out.println("Queue is empty.");
                 return (char)0;
         }
               getloc++;
               if(getloc==q.length) getloc=0;
               return q[getloc];
                            }
                            }

class DynQueue implements ICharQ{
        private char q[];
        private int putloc,getloc;
       
        public DynQueue(int size){
                q=new char[size+1];
                putloc=getloc=0;
        }
       
        public void put(char ch){
                if(putloc==q.length-1){
                char t[]=new char[q.length*2];
                for(int i=0;i<q.length;i++)
                t=q;
                q=t;
                }
          putloc++;
          q[putloc]=ch;
}

     public char get(){
             if(getloc==putloc){
            
             System.out.println("Queue is empty.");
             return (char) 0;
                                }
               getloc++;
               return q[getloc];
     }
     }
     
     class IQDemo{
             public static void main(String args[]){
                     FixedQueue q1=new FixedQueue(10);
                     DynQueue q2=new DynQueue(5);
                     CircularQueue q3=new CircularQueue(10);
                    
                     ICharQ iQ;
                     char ch;
                     int i;
                    
                     iQ=q1;
                    
                     for(i=0;i<10;i++){
                             iQ.put((char) ('A'+i));
                     }
                    
                     System.out.print("Contents of fixed queue.");
                     for(i=0;i<10;i++){
                             ch=iQ.get();
                             System.out.print(ch);
                     }
                     System.out.println();
                    
                     iQ=q2;
                     for(i=0;i<10;i++)
                      iQ.put((char)('Z'-i));
                      System.out.print("Contents of dynamic queue:");
                      for(i=0;i<10;i++){
                              ch=iQ.get();
                              System.out.print(ch);
                      }
                      System.out.println();
                      
                      iQ=q3;
                      for(i=0;i<10;i++){
                              iQ.put((char)('A'+i));
                             
                      }
                      System.out.print("Contents of circular queue:");
                      for(i=0;i<10;i++){
                              ch=iQ.get();
                              System.out.print(ch);
                        }
                       
                        System.out.println();
                       
                        for(i=10;i<20;i++)
                        iQ.put((char)('A'+i));
                       
                        System.out.print("contents of circular queue:" );
                        for(i=0;i<10;i++){
                                ch=iQ.get();
                                System.out.print(ch);
                        }
                       
                        System.out.println();
                       
                        System.out.print("store and consume from" + "circular queue");
                        for(i=0;i<20;i++){
                                iQ.put((char)('A'+i));
                                ch=iQ.get();
                                System.out.print(ch);
                        }
                      
                      }
     }
    [/php]
   
谢谢!
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2004-6-2 15:44 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2004-6-2 16:39 | 显示全部楼层
应该是对的吧,我又用Jcreator编译了一编,这回又可以运行了。奇怪!是不是设置的问题呀
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2004-6-2 16:43 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2004-6-3 22:08 | 显示全部楼层
呵呵,有点奇怪,你怎么总是和队列打交道。你的程序没有问题,只是开始的Inteface应该单独放到一个JAVA文件里。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+1, 2025-2-12 09:13 , Processed in 0.931256 second(s), 18 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表