Java返回返回为空

Java返回返回为空,java,methods,return,Java,Methods,Return,我试图创建一个java方法,返回两个值x和y的和。当前,当我运行代码时,输出没有返回任何内容。在使用return方法时,是否有任何方法可以在不修改第6行中的“getSum(x,y);”的情况下获取返回和的值 public class ZawMethods2 { public static void main(String[] args) { int x = 7, y = 45; getSum(x,y); } public static int getSum(in

我试图创建一个java方法,返回两个值x和y的和。当前,当我运行代码时,输出没有返回任何内容。在使用return方法时,是否有任何方法可以在不修改第6行中的“getSum(x,y);”的情况下获取返回和的值

public class ZawMethods2
{
  public static void main(String[] args)
  {
    int x = 7, y = 45; 
    getSum(x,y);
  }
  public static int getSum(int x, int y){
    int sum = x+y; 
    return (sum); 
  }
}

提前谢谢大家!!!我仍处于编码的开始阶段,因此我感谢所有的帮助。

很抱歉,我认为不允许您修改
getSum
方法。只需添加
System.out.println(sum)
getSum
方法。

实际上,您正在编译一个没有任何输出的程序。你必须使用类似于

System.out.println(getSum(x,y))

否则,您将无法获得任何输出

如果修改主方法,如:

    public static void main(String[] args)
    {
        int x = 7, y = 45; 
        int sum = getSum(x,y);
        System.out.println(sum);
    }
您将得到输出:52。 在这种情况下,您将以总和形式保存返回的整数,并将在控制台上打印一行新行。 如果要添加一些单词,可以修改主选项,如:

public static void main(String[] args)
{
    int x = 7, y = 45; 
    int sum = getSum(x,y);
    System.out.println("The result is" + sum);
}

只需在
getSum
方法中打印它,然后返回:

public static int getSum(int x, int y){
    int sum = x+y; 
    System.out.println(sum);
    return sum; 
}
正如@Stultuske在评论中提到的。如果你只想打印金额,却永远得不到。然后只需删除返回类型,并对方法进行不同的命名,以便于澄清:

public static void printSum(int x, int y){
    System.out.println(x + y);
}
你甚至可能想引入一种全新的方法。将旧的
getSum
全部保留在自身上。然后,新方法委托并仅打印返回的结果:

public static void printSum(int x, int y){
    System.out.println(getSum(x, y));
}

您应该将结果存储在变量中或显示结果

int c = getSum(x,y);

试试这个:

public class ZawMethods2
{
    public static void main(String[] args)
    {
        int x = 7, y = 45; 
        System.out.print(getSum(x,y));
    }
    public static int getSum(int x, int y)
    {
        int sum = x+y; 
        return (sum); 
    }
}

此代码将很容易解决您的问题。

您如何知道它是空的?你没有任何东西来存储返回值,也没有任何打印行。什么意思:返回空白?因为它不打印任何东西?只需添加一个打印语句。您是否在询问此程序为什么不创建任何输出?是的,程序编译但不输出anything@Yunnosch根据OP在这里的回答,这不是他的意思。因为他说,我引用他的话:“Yunnosch实际上我没有修改对方法的调用(第6行),只是在getSum()方法中添加了一个print语句,它起了作用。不过感谢您的帮助”->这表明这是对您帐户的一个(错误)假设。那么为什么不删除return(type)呢?@Stultuske这可能不是
getSum
的唯一用法,它可能只是一个简化的示例。但是,如果这是唯一的情况,那么搬迁可能是值得的。这就是问题所在。如果有几种用法,谁说OP希望为所有用法打印输出?@Stultuske还有一个好的观点。那么你可能想介绍两种方法?一个用于获取,另一个用于打印。后者称之为前者。这可能是最干净的方法是的,有效!非常感谢。只有一个问题:我的代码的问题是因为“return”不输出/打印任何我们必须始终包含print语句才能获得输出的内容吗?是的,
return
与输出无关。@CarolineZaw java从不将任何内容打印到控制台,除非您告诉它,使用
System.out.println
statement@Yunnosch您注意到getSum方法有任何更改吗?谢谢。我注意到(现在由OP补充说明)您完全更改了不需要更改的部分。之前我注意到,您对什么是允许的,什么是不允许的进行了假设,并试图让您了解问题中可能被解释为明确禁止您所做的事情的部分。请添加一个解释。如果您创建一个临时变量,它将在堆中获得额外的内存,如果我们没有将该变量用于任何引用,我们就不应该这样做
public class ZawMethods2
{
  public static void main(String[] args)
  {
    int x = 7, y = 45; 
    System.out.print(getSum(x,y));
  }
  public static int getSum(int x, int y){
    //no need to create temprory varibale 
    return x+y; 
  }
}
public class ZawMethods2
{
  public static void main(String[] args)
  {
    int x = 7, y = 45; 
    System.out.print(getSum(x,y));
  }
  public static int getSum(int x, int y){
    //no need to create temprory varibale 
    return x+y; 
  }
}