输入文本改变一个整数? AS3
Input text changes an integer? AS3
我正在做一个 Collatz 猜想的小 AS3 函数。
这是代码:
import flash.events.Event;
import flash.events.MouseEvent;
var numb:int=0
var amount:int=0
button.addEventListener(MouseEvent.CLICK, buttonclick)
function buttonclick(buttonclicked:MouseEvent):void{
numb=int(input.text)
trace(numb)
amount=0
}
stage.addEventListener(Event.ENTER_FRAME, equate)
function equate(equate:Event):void{
dynam.text=amount.toString() + "\n" + numb.toString();;
if(numb !=0 && numb !=1){
if(numb % 2 == 0){
numb=numb/2
amount+=1
}
else{
numb=numb*3+1
amount+=1
}
}
}
但是,有时文本输入会变成负数。
123123123123变成-1430928461
12312312312321312变成-1715645152
以此类推
我不知道为什么,但我认为这与
有关
numb=int(input.text)
但是我不想做绝对值,因为那样的话方程会得出错误的结果。
如果你想让它停在负数上(并自己测试)这样做:
if(numb !=0 && numb !=1 && numb>1)
而不是
if(numb !=0 && numb !=1)
我正在做一个 Collatz 猜想的小 AS3 函数。 这是代码:
import flash.events.Event;
import flash.events.MouseEvent;
var numb:int=0
var amount:int=0
button.addEventListener(MouseEvent.CLICK, buttonclick)
function buttonclick(buttonclicked:MouseEvent):void{
numb=int(input.text)
trace(numb)
amount=0
}
stage.addEventListener(Event.ENTER_FRAME, equate)
function equate(equate:Event):void{
dynam.text=amount.toString() + "\n" + numb.toString();;
if(numb !=0 && numb !=1){
if(numb % 2 == 0){
numb=numb/2
amount+=1
}
else{
numb=numb*3+1
amount+=1
}
}
}
但是,有时文本输入会变成负数。
123123123123变成-1430928461
12312312312321312变成-1715645152
以此类推
我不知道为什么,但我认为这与
有关numb=int(input.text)
但是我不想做绝对值,因为那样的话方程会得出错误的结果。 如果你想让它停在负数上(并自己测试)这样做:
if(numb !=0 && numb !=1 && numb>1)
而不是
if(numb !=0 && numb !=1)