簡體   English   中英

使用掃描儀類和多個類時調用變量

[英]Calling variable when using Scanner Class and Multiple Classes

嘗試從operatorSelection類調用總值,而該類引用用戶作為操作員輸入的內容。

我希望它最終顯示為number1(選擇運營商)number2 ... =總數。

不知道如何調用類,以便它正確打印“ 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);




}
}

您的問題是您 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)   
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM