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

📄 coreclass.java

📁 C程序自动测试程序系统,主要是测试数据结构中的几个经典算法:关于排序,树的遍历等.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		       funIndex--;      //用户传入为第几个函数,但在funName中从0开始记数,在此做修正
		   else funIndex=0;
		   
		   String tmpStr;
		   String tmp=new String();
		   int flag;
	       while((tmpStr=infile.readLine()) !=null)
		       {
		         flag=0;
			     while ((i=tmpStr.indexOf("/*Fill*/"))!=-1){ 
				   if (flag==0)  
				     {
					    tmp=tmpStr.substring(0,i);
					    tmpStr=tmpStr.substring(i+8,tmpStr.length ());
							
				     }
				     else 
					 {      if ((count/2)==funIndex)
					           tmpStr=tmp+fillBlank+tmpStr.substring(i+8,tmpStr.length ()); 
							else
							   tmpStr=tmp+tmpStr.substring(0,i)+tmpStr.substring(i+8,tmpStr.length ());
					 } 
				  	 count=count+1;  
				     flag=(flag+1)%2;
			      }
				 outfile.write(tmpStr+"\r\n");
		        }
		
		   
		   outfile.flush ();    //发送并清空最后的碎片
		  
		   outfile.close() ;
		   objFile.close ();
		   infile.close();
		   tempFile.close();
		   
		   }catch(Exception ex)
		   {
			 //读取生成文件失败
		   }
		 
		return(true);	
	}
		
	public boolean compileSrcFile(String srcFileName,String tcPath){//编译指定的C文件,利用TCC 目标程序名与源文件名相同
	   
		try
		{   			
			String tmp=tcPath+"tcc "+tcPath+srcFileName;  //生成编译命令字符串
			Runtime.getRuntime().exec(tmp);        //执行编译
			
		}catch(Exception ex)
		{
			String tcstr=ex.toString ();
			
			return(false);
		}
		return(true);
	}
	
	public String displayTempFile(){
	    int i,flag,count=0,flag2=0;
		String tmpStr;
		String tmp=new String();
		String resStr=new String();
		try
		{
		  FileReader tempFile=new FileReader(tempFileName);
		  BufferedReader infile=new BufferedReader(tempFile);
		  flag2=0;
		  while((tmpStr=infile.readLine()) !=null)
		  {
			  flag=0;
			  while ((i=tmpStr.indexOf("/*Fill*/"))!=-1){
				  if (flag==0)  
				  {
					  tmp=tmpStr.substring(0,i);
					  tmpStr=tmpStr.substring(i+8,tmpStr.length ());
				  }
				  else 
				  {
					  tmpStr=tmp+"____"+Integer.toString (count+1)+"____"+tmpStr.substring(i+8,tmpStr.length ());
					  count++;
				  }		   
				  flag=(flag+1)%2;
			  }
			  
			  if (flag2==1) resStr=resStr+tmpStr+"\r\n";
			  if (tmpStr.startsWith("/*Start*/")) flag2=1; 
		  } 
		}catch(Exception ex)
		{
			
		}
		return(resStr);
	}
	 
}

class PBlackTesterWG extends PBlackTester {
	 
	PBlackTesterWG(){

    }
    PBlackTesterWG(int inDataLength,int outDataLength){
       super(inDataLength,outDataLength);
    }
    PBlackTesterWG(Vector data){
       super(data);
    }
	////////感谢华振辉同学编写这段代码//////////////////////////////////////////
    public void compare() {
	   //带规范器的比较方法 去除数据中间多余空格
	   String tmpStr,tmpStr2,tmpStr3;
	   int i=0,j,flag=0;
	   for (i=0;i<stdData.size();i++)
	   {
	     try
		 { 
			 tmpStr3=new String();
			 tmpStr=outData.elementAt (i).toString();
			 tmpStr=tmpStr.trim();
			 flag=0;
			 for (j=0;j<tmpStr.length();j++)
			 {
			      tmpStr2=tmpStr.substring (j,j+1);
				  if (tmpStr2.equals(" ")) {
					  if (flag==0) {tmpStr3=tmpStr3+tmpStr2;flag=1;}}
				  else 
				   {tmpStr3=tmpStr3+tmpStr2;flag=0;}
			 }
			 
			if (stdData.elementAt(i).equals(tmpStr3))
		        cmpResult.addElement("yes");
	        else
		        cmpResult.addElement("no");
				
		 }
		 catch(Exception ex)
		 {
	        cmpResult.addElement("error");
	     }
	   }
	}
    }


class PBlackTesterWF extends PBlackTester {
	
	PBlackTesterWF(){

    }
    PBlackTesterWF(int inDataLength,int outDataLength){
       super(inDataLength,outDataLength);
    }
    PBlackTesterWF(Vector data){
       super(data);
    }
	
	///感谢谈炯同学编写这一段代码//////////////////////////////////////
    public void filter(Vector key,int m) {         //行或列过滤
	    Vector TempVec=new Vector();
		int i=0,j=0,k=0,flag=0,l=0,n=0,p=0;
		int []position=new int[key.size()+1];
		String str,str1,str2,str3,str4=new String();
		str=str1=str2=str3=null;
	    try
	    {
		   if(m==0 && key.size()>0)              /*行过滤*/
		                          
		   {	
			   str=outData.elementAt(0).toString();
			   str=str.trim();
		       for(;i<key.size();i++)
			   {
		            str1=new String();
					str1=key.elementAt(i).toString();
					position[i]=str.indexOf(str1);
		         }
		        position[i]=str.length();
		        for(i=1;i<key.size();i++)
		        {
		           k=position[i];
		           for(j=i-1;j>=0 && k<position[j];j--)
			          position[j+1]=position[j];
		           position[j+1]=k;
		         }
		         for(i=0;i<key.size();i++)
		         { 
					 str1=new String();
					 for(j=position[i];j<position[i+1];j++)
			            str1=str1+str.substring(j,j+1);
			         TempVec.addElement(str1);
		         }
		         for (i=0;i<TempVec.size();i++)
		         {
		            str3=TempVec.elementAt(i).toString();
			        str3=str3.trim().toString();
					
			        flag=0;
					str2=new String();
			        for (j=0;j<str3.length();j++)
			        {
			           str1=str3.substring (j,j+1);
			           if (str1.equals(" ")) 
					   {
			             if (flag==0) 
						   {  str2=str2+str1;
							  flag=1;
						   }
					   }
			           else 
				       {
						   str2=str2+str1;
						   flag=0;
					   }
			        }
					TempVec.setElementAt(str2,i);
		          }
				
		          for(k=0,i=0;i<key.size();i++)  
					 for(j=0;j<TempVec.size();j++)
		             {
						str=TempVec.elementAt(j).toString();
		                str1=str.substring(0,key.elementAt(i).toString().length());
	                    if(key.elementAt(i).toString().equals(str1)) 
					    {
						   if(k==0) {str4=str;k++;}
						   else  str4=str4+" "+str;
						}
				      }
				  outData.setElementAt(str4,0);				 
		   }
		   else if(m!=0 && key.size()>0)            /* 列过滤*/                   
		   {
		       for(i=0;i<outData.size();i++)
			       TempVec.addElement(outData.elementAt(i).toString());  
			   for (i=0;i<TempVec.size();i++)
		       {
		            str3=TempVec.elementAt(i).toString();
			        str3=str3.trim().toString();
					
			        flag=0;
					str2=new String();
			        for (j=0;j<str3.length();j++)
			        {
			           str1=str3.substring (j,j+1);
			           if (str1.equals(" ")) 
					   {
			             if (flag==0) 
						   {  str2=str2+str1;
							  flag=1;
						   }
					   }
			           else 
				       {
						   str2=str2+str1;
						   flag=0;
					   }
			        }
				     TempVec.setElementAt(str2,i);
		         }
			     for(;l<TempVec.size()/outputLines;l++) 
				    for(k=k+outputLines,i=0;i<key.size();i++)
					{	
					  if(n==0) k=0;
					  for(j=k,n++;j<k+outputLines;j++)
				      {
				       str=TempVec.elementAt(j).toString();
				       str1=str.substring(0,key.elementAt(i).toString().length());
				       if(key.elementAt(i).equals(str1)) 
					       outData.setElementAt(str,p++);  
				      }
					}
		   }	   
	    }
	    catch(Exception ex)
		{
	       cmpResult.addElement("error");
	    }
		
}
	public void compare(Vector key,int m) { //m=0表示行过滤 m=1列过滤
		
		filter(key,m) ;
		super.compare ();
	   //带过滤器的比较方法
	}
}

class PdelayThread extends Thread
{
	void run(Process handle,int delay,Vector outData,int lines)
	{
		int i=0;
		for (i=0;i<delay*100;i++);
		handle.destroy ();
	    for (i=0;i<lines;i++){		   
		     outData.addElement("overtime error"); //
		this.destroy();
		}
	}
}

⌨️ 快捷键说明

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