int设置为零会以相同的名称生成新的int

时间:2013-12-23 00:05:13

标签: java

当我创建一个使用以下函数递增的int COun时,一旦达到所需的int将其设置回零,COun将设置为零并再次开始递增直到10但它通过我假设的相同名称递增另一个int。为什么这样做?

Timer timer = new Timer();

    timer.scheduleAtFixedRate(new TimerTask()
    {
        public void run()
        {
           // Your code

            counterr++;
            System.out.println("COun "+counterr);
           // System.out.println("Refresh?  "+refresh);
             if(counterr>10){
                 json = jParser.makeHttpRequest(url_all_products, "GET", params);
                 Intent i = new Intent(getApplicationContext(), AllProductsActivity.class);
                 startActivity(i);
                 counterr=0;

             }
        }
    }, delay, period);

当你打印出COun时,你可以通过增加一个COun来告诉它,但是每次如果句子开始,它会生成另一个COun计数器。

12-20 18:50:16.170: I/System.out(10465): COun 1

12-20 18:50:17.071: I/System.out(10465): COun 2

12-20 18:50:18.082: I/System.out(10465): COun 3

12-20 18:50:19.083: I/System.out(10465): COun 4

12-20 18:50:20.084: I/System.out(10465): COun 5

12-20 18:50:21.085: I/System.out(10465): COun 6

12-20 18:50:22.086: I/System.out(10465): COun 7

12-20 18:50:23.077: I/System.out(10465): COun 8

12-20 18:50:24.078: I/System.out(10465): COun 9

12-20 18:50:25.079: I/System.out(10465): COun 10

12-20 18:50:26.080: I/System.out(10465): COun 11

12-20 18:50:27.071: I/System.out(10465): COun 1

12-20 18:50:28.082: I/System.out(10465): COun 2

12-20 18:50:29.073: I/System.out(10465): COun 3

12-20 18:50:30.083: I/System.out(10465): COun 4

12-20 18:50:31.084: I/System.out(10465): COun 5

12-20 18:50:31.405: I/System.out(10465): COun 1

12-20 18:50:32.085: I/System.out(10465): COun 6

12-20 18:50:32.406: I/System.out(10465): COun 2

12-20 18:50:33.086: I/System.out(10465): COun 7

12-20 18:50:33.407: I/System.out(10465): COun 3

12-20 18:50:33.407: I/System.out(10465): COun 8

12-20 18:50:33.407: I/System.out(10465): COun 4

12-20 18:50:33.407: I/System.out(10465): COun 9

12-20 18:50:33.407: I/System.out(10465): COun 5

并且它继续奇怪地说,当任何一个变为10时,它会生成另一个计数,与原始计数一起计数,然后开始......

1 个答案:

答案 0 :(得分:1)

如果您想执行一次,则应致电

schedule(TimerTask task,Date time)

schedule(TimerTask task, long delay)

scheduleAtFixedRate(TimerTask task,long delay,long period)是您需要重复运行的时间。