2016-10-29 1 views
0

나는 메인 클래스와 다른 클래스 (기본 계산기)를 만들었습니다. 하지만 내 주 수업에서 전화하려고하면 오류가 발생합니다. 아무도 내게 해결책을 줄 수 없습니다. 나는 식으로 코딩하고있다.다른 클래스의 메서드를 올바르게 사용하는 방법은 무엇입니까? (기본 계산기) (Java)

이 내 주입니다 :

import java.util.Scanner; 

public class MultiClass { 

    public static void main (String args[]){ 

     Calculator.calculatorObject = new Calculator(); 
     calculatorObject.Addition(); 

    } 

} 

을 그리고 이것은 내 계산기 클래스입니다 :

import java.util.Scanner; 

public class Calculator { 

    public void Addition(){ 

     Scanner takeValue = new Scanner (System.in); 

     double num1, num2, answer; 

     System.out.println("Enter your first number: "); 
     num1 = takeValue.nextDouble(); 

     System.out.println("Enter your second number: "); 
     num2 = takeValue.nextDouble(); 

     answer = num1 + num2; 

     System.out.println("your answer is: " + answer); 


    } 

} 
+0

** 무엇이 오류입니까? 읽기 : https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html –

+0

답장을 보내 주셔서 감사합니다. 오류 : 스레드 "main"의 예외 java.lang.Error : 컴파일되지 않은 컴파일 문제 : \t calculatorObject가 해결되지 또는 MultiClass.main (MultiClass.java:7)에서 \t calculatorObject이 \t 해결 될 수없는 필드 아닌 수 – SparkKiddo

+0

올바르게 계산기 변수를 선언하지 않습니다. 다음 내용을 읽어보십시오. https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html –

답변

0

당신은 제대로 계산기 객체를 초기화하지 않았다. 당신은 주 클래스에서 매개 변수를 만드는 대신 Calculator 클래스에서 매개 변수처럼 작동하게 만들었습니다.

Calculator.calculatorObject = new Calculator(); 

초기화 당신이 값을 선언 객체를 제공 할 것을 의미 대신이 라인의

Calculator calculatorObject = new Calculator(); 

:

는이 줄을 추가해야한다. 의 당신이 정수를 선언하고

int i; 

나는 그것을 호출한다고 가정 해 봅시다하지만 지금은 빈 값이 있기 때문에, 너무 초기화 할 :

i = 89; 

를 또는으로 권리 선언 후를 intializing :

int i = 89; 
+0

바이너리 주 님 전나무를 지적 해 주셔서 감사합니다. 얼마 지나지 않아 코드를 삭제하고 다시 작성했지만 이번에는 효과가있었습니다. 나는 그 주위에 내 손가락을 넣을 수 없지만 그것을 엉망으로 만든 우발적 인 것으로 보인다. 당신이 설명했던 방식이 나에게 더 명확한 아이디어를주었습니다. 다시 한 번 감사드립니다! – SparkKiddo

+0

당신을 기쁘게 생각합니다. 천만에요 :) – BinaryLord

1

당신은 제대로 계산기 객체를 초기화하지 않았다. 코드가 있어야한다 :

public class MultiClass { 

public static void main (String args[]){ 

    Calculator calculatorObject = new Calculator(); 
    calculatorObject.Addition(); 

} 

}

+0

스캐너를 제거한 후에도 오류가 발생합니다 .. – SparkKiddo

+0

지금 어떤 오류가 있습니까? –

+0

@ SparkKiddo 실행해야합니다. 아무 것도 제거 할 필요가 없으며, 언급 한대로 개체를 올바르게 초기화하면됩니다. 스레드 "주요"상위를에 – Killer

관련 문제