减法在 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!");
很简单,您不需要在用户输入后再次计算 applesToOrder
和 orangesToOrder
,因此它们会采用 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
要解决此问题,只需在接受输入后输入语句
我编写了这个程序,这是我的第一个程序,但是在我在框中输入值之后,最后的输出是“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!");
很简单,您不需要在用户输入后再次计算 applesToOrder
和 orangesToOrder
,因此它们会采用 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
要解决此问题,只需在接受输入后输入语句