2017-11-26 30 views
0

operatorSelection 클래스에서 총 값을 호출하려고 시도하는 동안 해당 클래스는 사용자가 연산자로 입력 한 값을 참조합니다.스캐너 클래스 및 다중 클래스를 사용할 때 변수 호출

number1 (연산자 선택) number2 ... = total로 나오게합니다.

"System.out.println (number1 +" "+ 연산자 +" "+ 숫자 2 +" "+ 연산자 +" "+ number2 +"= "+ 합계);"를 올바르게 인쇄하도록 클래스를 호출하는 방법을 잘 모르겠습니다.

모든 지식은 주제에 크게 감사하겠습니다.

감사합니다.


import java.util.Scanner; 


class NumbersEntered 
{ 



public void operatorSeletion(double number1, double number2, double number3, char operator) 
{ 
    double total = 0; 


    switch(operator) 
    { 
     case '+': 
      total = number1 + number2 + number3; 
      break; 

     case '-': 
      total = number1 - number2 - number3; 
      break; 

     case '*': 
      total = number1 * number2 * number3; 
      break; 

     case '/': 
      total = number1/number2/number3; 
      break; 

     default: 
      System.out.println("You have entered incorrectly. Please try again."); 

      return; 
    } 


} 



} 





public class JavaPresentation_KS { 


public static void main(String[] args) { 

    NumbersEntered nums = new NumbersEntered(); 
    Scanner equation = new Scanner(System.in); 



    System.out.println("Enter first number: "); 
    double number1 = equation.nextDouble(); 
    System.out.println("Enter second number: "); 
    double number2 = equation.nextDouble(); 
    System.out.println("Enter third number: "); 
    double number3 = equation.nextDouble(); 
    System.out.println("Enter an operator (+, -, *, /): "); 
    char operator = equation.next().charAt(0); 

    System.out.println(number1+" "+operator+" "+number2+" "+operator+" "+number2+ " = "+ total); 




} 
} 

답변

0

귀하의 문제는 당신이 내 operatorSeletion 방법을 total 변수 을 선언하고 당신이 위치 지정없이 그것을 에 액세스하려고 할 것입니다. total 변수를 필드로 선언 한 다음 해당 위치 (new NumbersEntered().total)에서 액세스해야합니다. 또한 operatorSeletion을 호출하지 마십시오. 도움이 될 것입니다.)

class NumbersEntered { 

public double total = 0; //declare as accessable field 

public void operatorSeletion(double number1, double number2, double number3, char operator) 
{  
    switch(operator) 
    { 
     case '+': 
      total = number1 + number2 + number3; 
      break; 

     case '-': 
      total = number1 - number2 - number3; 
      break; 

     case '*': 
      total = number1 * number2 * number3; 
      break; 

     case '/': 
      total = number1/number2/number3; 
      break; 

     default: 
      System.out.println("You have entered incorrectly. Please try again."); 

      return; 
    }  
} 
} 
public class JavaPresentation_KS { 


public static void main(String[] args) { 

    NumbersEntered nums = new NumbersEntered(); 
    Scanner equation = new Scanner(System.in); 

    System.out.println("Enter first number: "); 
    double number1 = equation.nextDouble(); 
    System.out.println("Enter second number: "); 
    double number2 = equation.nextDouble(); 
    System.out.println("Enter third number: "); 
    double number3 = equation.nextDouble(); 
    System.out.println("Enter an operator (+, -, *, /): "); 
    char operator = equation.next().charAt(0); 

    nums.operatorSeletion(number1, number2, number3, operator); 
//invoke the method 

    System.out.println(number1 + " " + operator + " " + number2 + " " + operator + " " + number2 + " = " + nums.total); 
//Access at location (nums.total) 
    }