系统不打印出来吗?

时间:2016-09-07 21:27:47

标签: java

//为什么不打印?我可以使用其他什么功能?

public class Exercise {

  private static int x = 12;
  private static int y = 28;
  private static double z = 3.3;

  public static void main(String[] args) {
    System.out.println("The answer to(x * y) / 3");
    calculate();
  }

  private static double calculate() {
    double you = (x * y) / z;
    return you;
    System.out.println("you");
  }
}

4 个答案:

答案 0 :(得分:3)

您正在寻找的更像是:

public class Exercise {

    private static int x = 12;
    private static int y = 28;
    private static double z = 3.3;

    public static void main(String[] args) {
        double result = calculate();
        System.out.println("The answer to (x * y) / z is " + result);
    }

    private static double calculate() {
        double you = (x * y) / z;
        System.out.println("you = " + you);
        return you;
    }
}

正如其他人所说,return必须是该方法的最后一条指令(除非包含在条件中)。 您还要小心:打印"you"与打印you变量不同。

答案 1 :(得分:0)

在此功能中

private static double calculate() {
    double you = (x * y) / z;
    return you;
    System.out.println("you");
}

System.out.println语句位于return语句之后。这被视为"无法到达"代码,不会运行。将print语句放在return语句上面。

答案 2 :(得分:0)

1.这段代码不会编译。因为,return应该是任何函数中的最后一个语句。返回后的最后一个语句变为不可用的代码,因为在返回之后,编译器停止查找任何语句。

2.在println方法中,“你”已经通过而不是变量你。 println将此“you”作为字符串。 正确的代码将是 -

public class Exercise {

private static int x = 12;
private static int y = 28;
private static double z = 3.3;

public static void main(String[] args) {
System.out.println("The answer to(x * y) / 3");
calculate();

}

private static double calculate() {
double you = (x * y) / z;
System.out.println("you" +you);  // pass variable you instead of "you"
return you;


}
}

输出 -

    The answer to(x * y) / 3
    you 101.81818181818183

答案 3 :(得分:0)

您在System.out.之前从方法返回。另一种方法可能是:

public class Exercise {

  private static int x = 12;
  private static int y = 28;
  private static double z = 3.3;

  public static void main(String[] args) {
    System.out.println("The answer to(x * y) / 3 = "+ calculate());
  }

  private static double calculate() {
    return (x * y) / z;
  }
}