我需要在Android中的内部递归功能延迟,但处理程序延迟破坏了递归功能
我正在使用河内递归算法在Android(Java)中创建河内模拟塔。 每个磁盘都可以立即从源塔转移到目标塔。 当我尝试延迟递归功能以使其移动缓慢时,就会发生问题,因此我可以看到移动它的每一步,但是handler.postdelayed
只需打破递归
此代码或其他建议延迟UI更改的任何修复
void hanoi(int disk, int source, int dest, int aux) {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if(disk ==1){
autoClick(source,dest);
}
else {
hanoi(disk - 1, source, aux, dest);
autoClick(source,dest);
hanoi(disk - 1, aux, dest, source);
}
}
}, 100);}
I'm creating a tower of Hanoi simulation in Android(Java), using the tower of Hanoi recursion algorithm.
every this works fine all the disks instantly move from source to destination tower.
The problem occur when I tried to put a delay inside the recursion Function to make its moves slowly, so I can see moving its every step but Handler.Postdelayed
just break the Recursion
Any Fix for this Code Or other Suggestions to Delay the UI Changes
void hanoi(int disk, int source, int dest, int aux) {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if(disk ==1){
autoClick(source,dest);
}
else {
hanoi(disk - 1, source, aux, dest);
autoClick(source,dest);
hanoi(disk - 1, aux, dest, source);
}
}
}, 100);}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论