1

第一次在这里发帖,对格式感到抱歉。

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);
   }

}

我需要帮助方法重载让我的程序添加整数和浮点数,例如 4 和 5 = 9

4.0 和 5.0 = 9.0

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

4

2 回答 2

1

当你运行类主函数时,JVM首先执行(如果你没有静态块等),并且当你不调用时,main1()main()执行给你浮点值。

注意:重载是指两个或多个同名但参数不同的方法

但是你有不同的方法名称和相同的参数。

因此,要实现重载,请为两个函数使用相同的名称,并使用不同类型或数量的参数。

为了重载main(),你可以重载它,但是当你运行类时,java ClassName它只会调用带有字符串数组参数的主方法main(String[] arg)。你可以通过使用不同的参数调用它来进一步重载main() 你的代码。

Java 文档

于 2015-02-19T08:29:50.507 回答
1

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

main1不使用您接受int输入的其他方法。

如果您想要重载方法,一个用于ints,一个用于floats,您应该有一个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);
}
于 2015-02-19T08:24:09.277 回答