为什么我不能进入while循环?

时间:2015-10-01 21:42:23

标签: java loops while-loop

var colors = [
  'steelblue',
  'green',
  'red',
  'purple',
  'black'
]

var xScale = d3.time.scale()
    .domain([
      new Date(Date.parse('2014-01-01')),
      new Date(Date.parse('2014-12-31'))
    ])
    .range([0, width]);

var yScale = d3.scale.linear()
    .domain([0, 8])
    .range([height, 0]);

var line = d3.svg.line() // line generator
  .interpolate("linear")
  .x(function(d) { return xScale(d.data.x); })
  .y(function(d) { return yScale(d.data.y); });      

var activities = svg.selectAll('.line')
  .data(data3)
  .enter()
  .append("path");

var activitiesAttibutes = activities
  .attr("class", "line")
  .attr('stroke', function(d,i){
    return colors[i%colors.length];
  })
  .attr("d", line)
  .attr("transform", "translate(15,30)"); 

我试着知道为什么我不能进入while循环。

3 个答案:

答案 0 :(得分:0)

提供1或2作为onclick="PF('dialog1').hide()",你将进入循环。

示例:

Clavier.lireInt()

答案 1 :(得分:0)

根据您的if条件,您的号码必须大于0。要进入while循环,您的号码必须小于或等于2,因为您将i设置为2.因此您的选项为12

话虽如此,一旦你进入while循环,你将永远无法退出(你创建了一个无限循环)因为n总是小于{{1 }}。您的i在每次循环迭代时递增1,而i永远不会改变,因此它永远不会大于n。你应该添加一个终止条件(某种方式退出循环)。

答案 2 :(得分:0)

此代码的心态存在问题。你很幸运,它不会进入循环。如果是这样的话,它会在没有停止的情况下运行,你无法理解它。

因为:在你的代码中你说while循环的条件是i应该等于或大于n。我想Clavier.lireInt();从用户那里获得价值。因此,如果用户输入1条件将是while(1 <= 2),那么它将经历while循环。增加i,然后我将再次大于n,增量i然后4将大于n。它会像那样。

我的情况应该是:

while(n>=i)

然后你可以输入n为5并计算i = 2到5.

我说错了吗?