2017-04-06 2 views
0

프로그램이 매우 간단하고 자체 할당되었으므로 숙제가 아닙니다.변수 결과를 찾을 수 없습니다.

사용자는 세 개의 숫자를 입력하고 제곱 된 숫자를 표시하고 숫자의 합계도 표시합니다. 주요 방법은

import java.util.Scanner; 
public class CompSquares { 
    public static void main (String args[]) { 
     Scanner s= new Scanner(System.in); 
     int num1; 
     System.out.println(" Enter a number please."); 
     num1 = s.nextInt(); 
     int num2; 
     System.out.println("One more."); 
     num2 = s.nextInt(); 
     int num3; 
     System.out.println("Last one."); 
     num3 = s.nextInt(); 

     System.out.println("The numbers squared are " + Square(num1, num2, num3)); 
     System.out.println("The sum of these numbers is " + Sum(result)); 
    } 

    private static double Square (int num1, int num2, int num3) { 

     if (num1 > 0) { 
      num1 *= num1; 
      System.out.println (num1);} 
      else { 
       System.out.println("Enter a correct number, please."); 
      } 
      if (num2 > 0){ 
       num2 *= num2; 
       System.out.println (num2); } 
       else { 
        System.out.println("Really? Again. Do the right thing this time, jeez."); 
       } 
      if (num3 > 0){ 
       num3*=num3; 
       System.out.println (num3);} 
       else { 
        System.out.println("Just make it more then one!!"); 
       } 
      } 

    public static int Sum (int num1, int num2, int num3, int result) { 
     result = num1 + num2 + num3; 
     System.out.println(result); 
    } 
}    
+0

합계 (int num1, int num2, int num3, int 결과)가 필요하며 결과는 두 번째로 전달됩니다. 결과 값이 주 결과에 포함되지 않습니다. –

답변

1

:

System.out.println("The sum of these numbers is " + Sum(result)); 

resultmain()은 볼 수있는 범위 내에서 선언되지 않았다.

int result 매개 변수를 사용하는 Sum 대신에 Sum ~ return을 입력했다고 생각합니다.

public static int Sum (int num1, int num2, int num3) { 
    int result = num1 + num2 + num3; 
    System.out.println(result); 
    return result; 
} 

이것은 또한 다른 컴파일러 오류가 해결됩니다 (원래의 코드에 Sum는 아무것도 반환하지 않는다는 사실을하지만, 반환 형식이 int입니다 선언 된 것) : 당신에게 전체 답을주지 않고, 여기에서 시작하십시오.

+0

일부 부분 답변이 당신이 풀리는 데 충분하지 않고 모든 코드를 줄 수 있습니다. 그러나 이것은 당신을위한 학습 운동이 될 것입니다, 그렇죠? ':)' –

+0

아 감사합니다! 나는 모든 대답보다는 힌트를 받았을 때 더 좋아한다. – xPink

+0

그래, 내 새 해 결심 (자바 배우기) 중 하나를 완료하려고 노력하고있어 그래서 나는 여러 프로그램을 할당하고 있지만 볼 수 있듯이 나는 아직도 갈 방법이있다. – xPink

0

1) 변수 결과를 찾을 수 없습니다.

결과가 무엇인지를 알려주지 않는 주요 방법 때문입니까? 결과를 메소드 sum에 전달했습니다. 여기에 : System.out.println ("이 숫자의 합계는"+ 합계 (결과)입니다.

2) 메소드 합계는 네 개의 매개 변수로 정의되지만 통화 중에 단 하나만 전달됩니다.

3) 어느 방법이라도 계산을 기반으로 무언가를 반환하거나 무효로 선언해야합니다. 두 제곱 법과 합계는 무언가를 돌려 주지만 그렇게하지 않는 것으로 정의됩니다.

여기에 Java 튜토리얼 https://docs.oracle.com/javase/tutorial/ 에 대한 링크는 학습을 풍부하게하는 샘플 프로그램과 예제를 통해 진행할 것을 제안합니다.

해피 코딩.

관련 문제