减法在 java 程序中不起作用(缺少一些东西)

subtraction not working in java program (missing something)

我编写了这个程序,这是我的第一个程序,但是在我在框中输入值之后,最后的输出是“0”而不是减法。我不知道我错过了什么。

import java.util.Scanner;
import javax.swing.JOptionPane;
public class PSEUDOCODE_PROGRAM {

public static void main(String[] args) {
   Scanner scnr= new Scanner(System.in);

   String applesHad = " ";
   String applesNeed = " ";
   String orangesHad = " ";
   String orangesNeed = " ";
   int applesTheyHave = 0;
   int applesTheyNeed = 0;
   int orangesTheyHave = 0;
   int orangesTheyNeed = 0;
   int applesToOrder = 0;
   int orangesToOrder = 0;
   applesToOrder = applesTheyNeed - applesTheyHave;
   orangesToOrder = orangesTheyNeed - orangesTheyHave;

//Ask produce buyer how many apples are in stock
applesHad= JOptionPane.showInputDialog(null, "How many apples do you have: ");
applesTheyHave = Integer.parseInt(applesHad);
applesHad= JOptionPane.showInputDialog(null, "How many apples do you need: ");
applesTheyNeed = Integer.parseInt(applesHad);
//Ask produce buyer how many oranges are in stock
orangesHad= JOptionPane.showInputDialog(null, "How many oranges do you have:      ");
orangesTheyHave = Integer.parseInt(orangesHad);
orangesHad= JOptionPane.showInputDialog(null, "How many oranges do you need: ");
orangesTheyNeed = Integer.parseInt(orangesHad);
JOptionPane.showMessageDialog(null, "You must order " + applesToOrder + "         apples and " + orangesToOrder + " oranges!");

很简单,您不需要在用户输入后再次计算 applesToOrderorangesToOrder,因此它们会采用 0 的先前值,只需将这些行放在最后一个 JOptionPane 声明并查看魔术。

 applesToOrder = applesTheyNeed - applesTheyHave;
 orangesToOrder = orangesTheyNeed - orangesTheyHave;

在用户给出输入值之前,你正在做 mat 操作, 将其移到 JOptionPane 部分之后....

applesToOrder = applesTheyNeed - applesTheyHave;
orangesToOrder = orangesTheyNeed - orangesTheyHave;

当你这样做时

applesToOrder = applesTheyNeed - applesTheyHave;
orangesToOrder = orangesTheyNeed - orangesTheyHave;

applesTheyNeed的值,所有其他变量都是0,因此applesToOrder是这样读的

applesToOrder = applesTheyNeed - applesTheyHave

applesToOrder = 0 - 0

applesToOrder = 0

之后改变applesTheyNeed 等值,不会影响的值applesToOrder

要解决此问题,只需在接受输入后输入语句