【问题标题】:subtraction not working in java program (missing something)减法在java程序中不起作用(缺少一些东西)
【发布时间】:2017-02-04 10:02:40
【问题描述】:

我把这个程序放在一起,这是我的第一个程序,但是在我在框中输入值之后,最后的输出是“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!");

【问题讨论】:

  • 你能解释一下为什么你认为你可以在applesTheyNeedapplesTheyHave从输入中得到它们的值之前执行减法吗?
  • 没有问这个问题,下次我会记住的。 tks

标签: java subtraction


【解决方案1】:

这很简单,您不会在用户输入后再次计算 orangesToOrderorangesToOrder,因此他们会获取以前的 0 值,只需将这些行放在您最后一个 JOptionPane 语句的上方,看看魔术。

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

【讨论】:

  • 太棒了。把所有东西放在一起时忽略了那个细节。下次我会记住的。 tks
【解决方案2】:

在用户提供输入值之前,您正在执行 mat 操作, 将其移到 JOptionPane 部分之后....

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

【讨论】:

    【解决方案3】:

    当你这样做时

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

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

    applesToOrder = applesTheyNeed - applesTheyHave

    applesToOrder = 0 - 0

    applesToOrder = 0

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

    要解决这个问题,只需在输入后输入语句

    【讨论】:

      猜你喜欢
      • 2013-10-11
      • 1970-01-01
      • 2015-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多