基于整数值的整数减法和循环

时间:2015-10-09 22:42:19

标签: vb.net console-application subtraction basic

我在这里遇到两个问题。首先,我想要x将值更改为x - y,如果新X高于0,我希望该过程重复。我已经制定了下面的代码,但我并不认可两件事。

  1. 我是否允许制作等式x = x-y或者这会弄乱一切?我的意思是在数学术语中它是不可能的,但如果我们把X作为Hp和Y作为伤害我想要将伤害加起来。我不希望它造成损害HP&#34;每个减法的整数,因为我甚至不知道有多少&#34; Z = x-y&#34;如果我将Y设置为随机,我将不得不创建样式方程式。 我的猜测是我可以创建一个Z积分,它会在减法结束之前复制X,然后减法为X = Z - Y但是我不确定如何对此进行编码。< / p>

  2. 如果X高于0,我希望它继续循环并且我不确定我是否正确编码。

  3. 这是我的代码:

    Module Module1
            Dim A As Integer
            Dim B As Integer
            Dim x As Integer
            Dim y As Integer
            Sub Main()
    
        End Sub
    
        Sub Maths()
            A = 5
            B = 4
            x = 3
            y = 1
            Subtraction()
            Console.WriteLine("You deal {0} damage to your enemy reducing it to {1} hp.", y, x)
                Do Until x <= 0
    
                Loop
        End Sub
        Private Sub Subtraction()
            If A > B Then x = x -y
                Return
        End Sub
    
    End Module
    

1 个答案:

答案 0 :(得分:1)

我喜欢这个问题。这是我的想法:

  1. 是的,x = x - y是完全有效的代码。它没有什么不同,如果我有一个名为myRunOnSentence的字符串变量,我想连接已经在变量中的字符串和另一个字符串,然后将结果存储回字符串变量中。像这样:myRunOnSentence = myRunOnSentence + "another string"相同的概念,只需将数据类型更改为Integer。 x = x + y。以编程方式说:&#34;取x中的值和y中的值,将它们加在一起,并将该表达式的结果存储在x中。&#34;

  2. 你确实犯了循环错误。你在循环体内没有任何代码。

  3. 您的模块的Main()子项中没有任何内容,因此运行此模块时不会执行任何操作。您应该从Maths()方法中获取代码并将其放入Main()子代码中。

  4. Subtraction()方法中,A > B将始终评估为True,因为AB已使用值初始化,然后永不更改。

  5. 您的代码应如下所示:

    Module Module1
        Dim A As Integer = 5
        Dim B As Integer = 4
        Dim x As Integer = 3
        Dim y As Integer = 1
    
        Sub Main()
            Do Until x <= 0
                Subtraction()
                Console.WriteLine("You deal {0} damage to your enemy reducing it to {1} hp.", y, x)
            Loop
        End Sub
    
        Private Sub Subtraction()
            If A > B Then x = x - y 'Return statement wasn't needed.
        End Sub
    End Module
    

    如果这回答了您的问题,请不要忘记将其标记为答案。