📄 coreclass.java
字号:
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 + -