[英]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.