2016-09-07 4 views
-7

// 왜이 인쇄를하지 않습니까 ?? 내가 사용할 수있는 다른 기능은 무엇입니까? 이 기능시스템에서이를 인쇄하지 않습니까?

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

에서 System.out.println 문은 return 문 이후에

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"); 
    } 
} 
+8

그것은 컴파일되지 않습니다 왜냐하면'System.out.println ("you");은 return 문 다음에 도달 할 수 없기 때문입니다. 그리고 컴파일러가이를 알려줍니다. –

+0

Im을 잃어 버렸고이 누브가 – Johnny

답변

0

. 이것은 "도달 할 수없는"코드로 간주되어 실행되지 않습니다. print 문을 return 문 위에 놓습니다. 당신이 찾고있는 무엇

+2

인 경우 "실행되지 않습니다."예,하지만 더 강하게 [컴파일되지 않습니다] (https://docs.oracle.com/javase/specs/jls/se8/html) /jls-14.html#jls-14.21). –

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 인쇄와 동일하지 않습니다.

0

1이 코드는 컴파일되지 않습니다. 반환은 모든 함수의 마지막 문이어야합니다. 반환 후 마지막 문은 반환 할 수없는 코드가 되었기 때문에 반환 후 컴파일러는 더 이상 명령문을 찾지 않습니다.

2. println 메서드에서 "you"가 변수 YOU 대신 전달되었습니다. println은 "you"를 문자열로 사용합니다. 당신은 당신의 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() { 
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 
0

을 BE-합니다 올바른 코드이 될 수있다 :

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; 
    } 
} 
관련 문제