2017-11-26 46 views
0

operatorSelectionクラスから合計値を呼び出そうとすると、そのクラスはユーザーが演算子として入力した値を参照します。スキャナクラスと複数クラスを使用する場合の変数の呼び出し

number1(操作者が選択)number2 ... = totalとして出てきて欲しい。

"System.out.println(number1 +" "+ operator +" "+ number2 +" "+ operator +" "+ number2 +" = "+ total";)を正しく出力するようにクラスを呼び出す方法が不明です。

どのような知識もこのテーマで大いに評価されます。

ありがとうございました。


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) 
    } 
関連する問題