是否可以在其外部的条件语句中声明变量?

问题描述 投票:0回答:1

我对编程很陌生,刚刚开始构建一些简单的项目。我在调试到底出了什么问题时遇到了一些问题。或者我可能有一个想法。

if (operator == "+") {
      int result = firstNumber + secondNumber;
    } else if (operator == "-") {
      int result = firstNumber - secondNumber;
    } else if (operator == "/") {
      int result = firstNumber / secondNumber;
    } else if (operator == "*") {
      int result = firstNumber * secondNumber;
    } else {
      String result = "The operator you entered doesn't seem to be valid.\n Please try either of these operators: +, -, /, *";
    }

    System.out.println(result);

在这里,我收到错误,“。/Main.java:28:错误:找不到符号 System.out.println(结果); ^ 符号:变量结果 地点:主班'"

如何解决?

java variables printing
1个回答
0
投票

是否可以在其外部的条件语句中声明变量?

当然是这样。您可以在 if 语句之前声明它。但您必须决定单一类型。在您的示例中,您无法决定结果是 int

String
。必须是其中之一;即类型不能依赖于
operator
的值。
你可以:

    将算术结果转换为
  • String

    ;例如

     result = Integer.toString(firstNumber + secondNumber);
    

  • 你可以有两个变量;例如
  • int result;

    String error
    
    

  • 您可以声明一个自定义类来保存数字或错误消息,
  • 等等。
但是您的代码中还有另一个重大错误:

if (operator == "+") // MISTAKE!!!

使用 
==

比较字符串通常(通常)会给出错误的结果;请参阅

如何在 Java 中比较字符串?

© www.soinside.com 2019 - 2024. All rights reserved.