algorithm - Java 编程方法重载

标签 algorithm computability oop java

第一次在这里发帖,格式不对。

public static void main(String args[]) {

        float x, y, z;
          System.out.println("Enter two integers to calculate their sum ");
          Scanner in = new Scanner(System.in);
          x = in.nextFloat();
          y = in.nextFloat();
          z = x + y;
          System.out.println("Sum of entered integers = "+z);
       }




public static void main1(String args[]) {

    int x, y, z;
      System.out.println("Enter two integers to calculate their sum ");
      Scanner in = new Scanner(System.in);
      x = in.nextInt();
      y = in.nextInt();
      z = x + y;
      System.out.println("Sum of entered integers = "+z);
   }

}

例如,我需要帮助方法重载让我的程序用 int 和 float 相加 4 和 5 = 9

4.0 和 5.0 = 9.0

但到目前为止,即使我只是输入带有 int 值的数字,我的输出也只给我浮点值。

最佳答案

您的 main 方法将输入和总和存储在 float 变量中,这就是总和也是 float 的原因。

您的其他方法 main1 未使用,它接受 int 输入。

如果你想要重载方法,一个用于int,一个用于float,你应该有一个单一的main方法来调用重载方法(我们称它为 sum)。

public static int sum (int x, int y)
{
    return x+y;
}

public static float sum (float x, float y)
{
    return x+y;
}

但是,将调用的方法取决于您传递给它的参数。因此,如果您使用 nextFloat 获取输入,则将始终调用 sum (float x,float y) 方法,即使用户输入的是整数。

public static void main(String args[]) 
{
  float x, y, z;
  System.out.println("Enter two integers to calculate their sum ");
  Scanner in = new Scanner(System.in);
  x = in.nextFloat();
  y = in.nextFloat();
  z = sum (x,y); // this will always call sum (float x, float y)
  System.out.println("Sum of entered integers = "+z);
}

关于algorithm - Java 编程方法重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28601465/

相关文章:

algorithm - S(n) Big Oh 的简单函数

javascript - 是否有黑盒方法来检测排序算法是否稳定?

c# - 声明一个类作为它自己的成员

java - Java中如何在不使用全局变量的情况下在两个类之间共享变量?

java - 如何调用子类的方法?

algorithm - 函数的 big-O 可以比函数本身大吗?

java - 启动 xml 中定义的方法的算法

c++ - 逆总函数

notation - 为了证明某件事是 NP 困难的,为什么需要从 NP 完全简化到它?

algorithm - NP优化问题(定义)