Java的模替代方案 1 周,3 日 Questions & Answers 946 我现在有这份声明 b = (b + 1) % a.length; 然而,我的教授不喜欢这个作业的模。 我想知道我怎样才能重写它,使它在没有模的情况下工作 感谢您的帮助
# 1 楼答案 试试这个,它有同样的效果,避免使用模。IMHO,基于模的解决方案是首选,遗憾的是你的老师不喜欢它: // assuming that `b` is an integer if (b + 1 >= a.length) { b = ((b+1) - ((b+1)/a.length * a.length)); } else { b++; }
# 2 楼答案 如果在问题的上下文中,你试图让“b”作为固定长度的索引,你应该增加“b”,直到它在长度边界处,此时“b”被设置回0。你们的模解正是你们在“现实世界”中看到的 然而,在“现实世界”中,告诉你的教授他是个蠢货很少奏效 int b = 0; ... while( !someExitCondition() ) { ... doSomething( a.get( b ) ); if ( b + 1 < a.length ) { b++; } else { b = 0; } }
# 1 楼答案
试试这个,它有同样的效果,避免使用模。IMHO,基于模的解决方案是首选,遗憾的是你的老师不喜欢它:
# 2 楼答案
如果在问题的上下文中,你试图让“b”作为固定长度的索引,你应该增加“b”,直到它在长度边界处,此时“b”被设置回0。你们的模解正是你们在“现实世界”中看到的
然而,在“现实世界”中,告诉你的教授他是个蠢货很少奏效