获取以下脚本的错误(do-while循环)

时间:2015-10-26 15:55:18

标签: c#

我制作了以下脚本,该脚本显示了一些错误,例如缺失}或者)。可能是什么错误?

任何帮助将不胜感激

log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=logfile.log
log4j.appender.logfile.Threshold = INFO
log4j.appender.logfile.DatePattern='_'yyyyMMdd'.log'
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

2 个答案:

答案 0 :(得分:0)

在Do-While循环中,While不会有块。它应该是这样的:

do
{
    // Code here
}
while (condition);

如果要运行代码块至少一次,只使用Do-While循环,而不管while语句中的条件如何。

修改

我认为这就是你要找的东西。没有看到你的项目,我无法告诉你。尝试一下。

int CurrentRow = 0; // Is this integer already defined somewhere else?
int [,] sumTime = new int [2, TableSize];
int [,] sumScore = new int [2, TableSize];
for(int i = 0; i < TableSize; i++)
{
    do
    {
        int currentid= Convert.ToInt16(InteractionData.Rows[CurrentRow][0]);
        int time=0;
        int score=0;
        bool start=false;
        bool target=false;

        if (InteractionData.Rows[CurrentRow][1]==startpoint)
        start=true;
        if(start==true && target!=true)
        {
            time+=Convert.ToInt16(InteractionData.Rows[CurrentRow][2]);
            score+=Convert.ToInt16(InteractionData.Rows[CurrentRow][3]);
        }
        if (InteractionData.Rows[CurrentRow][1]==targetpoint)
        target=true;
        CurrentRow++;
    }
    while (currentid==Convert.ToInt16(InteractionData.Rows[CurrentRow][0]));

    if(start == true && target == true)
    {
        sumTime[1, i]=time;
        sumTime[0, i]=currentid;
        sumScore[1, i]=score;
        sumScore[0, i]=currentid;
    }
}

答案 1 :(得分:0)

我认为您只需删除do语句即可。 for循环不需要do。

int CurrentRow =0;
int [,] sumTime =new int [2,TableSize];
int [,] sumScore =new int [2,TableSize];
for(int i=0; i<TableSize;i++)     
   {       
   int currentid= Convert.ToInt16(InteractionData.Rows[CurrentRow][0]);
   int time=0;
   int score=0;
   bool start=false;
   bool target=false;
   while (currentid==Convert.ToInt16(InteractionData.Rows[CurrentRow][0]))
   {
      if (InteractionData.Rows[CurrentRow][1]==startpoint)
      start=true;
      if(start==true && target!=true)
      {
         time+=Convert.ToInt16(InteractionData.Rows[CurrentRow][2]);
         score+=Convert.ToInt16(InteractionData.Rows[CurrentRow][3]);
      }
      if (InteractionData.Rows[CurrentRow][1]==targetpoint)
      target=true;
      CurrentRow++;
   }
   if(start==true && target==true)
   {
      sumTime[1,i]=time; 
      sumTime[0,i]=currentid;
      sumScore[1,i]=score; 
      sumScore[0,i]=currentid; 
   }    
}