逻辑问题..请解决

时间:2015-05-22 11:22:16

标签: java file

这是SAP PI场景..有2个字段:registeration_id和Transaction_id。 最初我将使Transaction_id和registeration_id为1.应该生成文件,直到Transaction_id达到9999并且文件应该包含registeration_id和Transaction_id的更新值。但是一旦达到9999,registeration_id应该变为2并且应该创建文件。注意:当Transaction_id为97时,它应该跳过98.registeration_id应该跳过2和9。

public class Ex2 {
static int regId=1;
static int transID=1;
public static void main(String args[])
{
    int i;
    //int ilength = 0;
    for(i=1;i<=9999;i++)
    {

        if(transID!=9999)
        {
            //System.out.println(transID);
            Properties properties = new Properties();
            File propertiesfile = new File("Sequence.properties");
            try {
                propertiesfile.createNewFile();
                properties.load(new FileInputStream(propertiesfile));
            }
            catch (IOException e)
            {
                e.printStackTrace();
                System.out.println("Error:File not read");
            }
            if(transID!=97)
            {
                transID++;
                System.out.println(transID);
            }
            else
            {
                transID=99;
            }
            String m="";
            String n="";
            properties.setProperty(m, String.valueOf(transID));
            properties.setProperty(n, String.valueOf(regId));
            properties.store(new FileOutputStream(propertiesfile), null);
            break;
        }
        else
        {
            if(regId!=1 && regId!=8)
            {
                regId++;
                System.out.println(regId);
            }
            else if(regId==1)
            {
                regId=3;
                System.out.println(regId);
            }
            else
            {
                regId=10;
            }
        }
    }
}

请提供您宝贵的意见。既不是生成文件也不是计数器递增。应该改变什么?如何完成这种情况? 提前致谢

1 个答案:

答案 0 :(得分:0)

    if(transID==98)
    {
        transID++;
        System.out.println(transID);
    }

transID需要在某个点递增,一旦transID迭代到9999,regId将永远不会改变,因为'i'也是9999,即使&#39 ; I&#39;没有停止循环,属性永远不会增加regId,因为regId值不会改变,直到transID 9999条件中的else。