当前位置: 首页 > 知识库问答 >
问题:

为什么我不能在if命令中使用这个变量

吴高峰
2023-03-14

这个程序要求我写一个程序,要求用户键入两个数字x,y,和一个算术符号s。根据输入的符号,程序将两个数字相加或相减,并使用带有三个参数的返回类型方法返回结果。

示例:如果输入是2、3和'+'。然后,程序将打印:5

这就是我所做的;

import java.util.Scanner;
public class Helo {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter an arithmetic symbol:");
        char sym = input.next().charAt(0);
        System.out.println("Enter two numbers:");
        int x = input.nextInt();
        int y = input.nextInt();
        int number = symbol(x,y);
        }
    
    public static int symbol (int a , int b) {
        int result;
        char char1='+';
        char char2='-';
        if (char1)
            System.out.println(a+b);
        else
            System.out.println(a-b);
        return result;
            
            
            
    }

}

但我无法在不知道为什么的if命令中获取(char1)

共有1个答案

宰父德馨
2023-03-14

您可能需要将sym参数添加到函数符号中并检查字符。当您使用返回类型作为int时,尝试在函数外打印结果。这是一种很好的编程方式,也要尽量遵循编码惯例(例如:函数名、变量名等)。

import java.util.Scanner;
public class Helo {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter an arithmetic symbol:");
        char sym = input.next().charAt(0);
        System.out.println("Enter two numbers:");
        int x = input.nextInt();
        int y = input.nextInt();
        int number = symbol(x,y,sym);
        System.out.println("Result" + number);
        }
    
    public static int symbol (int a , int b, char sym) {
        if (sym == '+')
            return a + b;

        return a - b;     
    }
}

这将解决问题。有一件事想到了,在使用

if (char1)

这在Java中不起作用,因为它只接受布尔值。

 类似资料:
  • 我正在经历一些奇怪的行为,我认为与范围有关,但我不能解释为什么会发生。 但我不明白为什么前面的例子不起作用。我已经读过关于范围的文章,如果在更高的级别上定义了这个变量,应该可以重新分配给它。即使我在函数外定义了isDash,它仍然不起作用。它的值总是保持初始值:false。为什么if语句不将其值更改为true? 正如您所看到的,如果我编写类似的东西来演示是否可以在嵌套的if语句中使用变量,它可以正

  • 问题内容: 嗨,我只是想创建一个简单的golang应用程序,它使用以下命令在identi.ca上发布新的凹痕 到目前为止,这是我的代码,恕我直言,这应该起作用,但实际上它不起作用,有人知道如何解决此问题吗? 编辑: 不:我没有收到任何错误消息:/ 问题答案: 不会将整个命令行作为单个参数。您需要将其称为: 您怎么知道是否遇到错误?您无需检查的返回值。 您实际上应该将命令创建与运行分开。这样,您可以

  • 我可以打印最大罚款,但我不能打印计数。我看不出max和count之间的区别,也看不出为什么它不让我打印count。感谢任何帮助

  • 问题内容: 以下Java代码无法编译。 为什么?在没有先声明的情况下,没有代码路径可导致程序将1分配给该路径。 我想到的范围可能仅限于第一条陈述,但后来我不明白为什么。如果我真的不想不必要地声明以提高性能怎么办?我不喜欢声明后不使用变量。 (您可能想争论一下,我不可以在第二条语句中简单地声明b ,在这种情况下,请想象一下它可能在其他地方处于循环中。) 问题答案: 为什么?如果没有先声明,没有代码路

  • python似乎支持许多不同的命令来停止脚本执行。 我找到的选择有:、、、 我错过了什么吗?它们之间有什么区别?你什么时候用?

  • 问题内容: 似乎python支持许多不同的命令来停止脚本执行。 我发现的选择是: ,,, 我错过了吗?它们之间有什么区别?你何时会使用它们? 问题答案: 让我给他们一些信息: 在幕后提出异常。 此外,如果你打印它,它将给出一条消息: 包含此功能是为了帮助不了解Python的人。毕竟,新手尝试退出Python的最有可能的事情之一就是输入quit。 然而,quit应该不是在生产代码中使用。这是因为它仅