Java多项式除法无限循环

时间:2017-03-14 21:03:22

标签: java loops

我必须为多项式创建一个计算器。除分部外,所有操作都完美无缺。我试图调试它,看看它为什么循环,我发现在结束for指令后,它会跳回到开始。

我在这里写了我的课程。 http://pastebin.com/1vCkS2WW

在Operatii Class中,当第二个结束时,它会跳回到哪里。你能告诉我为什么会这样,我该怎么做才能结束呢?

2 个答案:

答案 0 :(得分:1)

在第132行,你有一个while循环,其中一个条件是i< 5但是你没有在循环内增加变量,所以它永远不会退出。

答案 1 :(得分:0)

在第二个for循环之后,你会回来,因为你已经编写了代码。要结束它,您应该确保while中的条件更改为Public Sub aSort(ByRef InOut) Dim i As Long, J As Long, Low As Long Dim Hi As Long, Temp As Variant Low = LBound(InOut) Hi = UBound(InOut) J = (Hi - Low + 1) \ 2 Do While J > 0 For i = Low To Hi - J If InOut(i) > InOut(i + J) Then Temp = InOut(i) InOut(i) = InOut(i + J) InOut(i + J) = Temp End If Next i For i = Hi - J To Low Step -1 If InOut(i) > InOut(i + J) Then Temp = InOut(i) InOut(i) = InOut(i + J) InOut(i + J) = Temp End If Next i J = J \ 2 Loop End Sub Sub MAIN() Dim ary(1 To 3) As Double, msg As String Dim i As Long ary(1) = 0.4 ary(2) = 0.1 ary(3) = 0.5 Call aSort(ary) msg = "" For i = 1 To 3 msg = msg & ary(i) & vbCrLf Next i MsgBox msg End Sub 。您的false变量始终低于5,因此请注意条件的第一部分。