所以我正在尝试为大学编写一个简单的 java 程序,而我在这个 java 方面完全是新手。编译时,我在 printreciept 方法中不断收到错误“错误 - 找不到符号”。我知道这就像无法访问 main 中的变量一样。有人可以帮忙吗?我知道如果我修复它,我可能会出现很多错误,但我宁愿从这里开始!附:对所有代码感到抱歉:/
import java.util.Scanner;
public class Order {
public static void main (String[] args) {
String clubcard;
double clubcard_discount;
double special_discount;
double balance;
double final_balance;
int apples;
int oranges;
int apples_cost;
int oranges_cost;
final Scanner scanner = new Scanner( System.in);
System.out.println("How Many Bags of Apples?");
apples = scanner.nextInt( );
System.out.println("How many bags of Oranges?");
oranges = scanner.nextInt( );
System.out.println("Do you have a clubcard? Yes/No");
clubcard = scanner.nextLine();
if(clubcard == "Yes") {
clubcard_discount = clubcard_discount - 1.0;
final_balance = final_balance - (balance / 100 * 10);
}
else if(clubcard == "No") {
special_discount = 0.0;
}
if(apples == 3) {
special_discount = -1.0;
balance = balance - 1.0;
}
}
//Calculating the cost of apples and oranges
public void calculate_apples (final double apples_cost ) {
apples_cost = apples * 1.0;
}
public void calculate_oranges (final double oranges_cost ) {
oranges_cost = oranges * 1.25;
}
//Printing the receipt
public static void printReceipt() {
System.out.println("Bags of apples: " + apples);
System.out.println("Bags of oranges: " + oranges);
System.out.println("Clubcard: " + clubcard);
System.out.println( );
System.out.println("Price for apples: " + apples_cost);
System.out.println("Special discount: " + special_discount);
System.out.println("Price of oranges: " + oranges_cost);
System.out.println("Total: " + balance);
System.out.println("Clubcard discount: " + clubcard_discount);
System.out.println( );
System.out.println("Final price: " + final_balance);
System.out.println( );
System.out.println("Thanks for doing business with CS2500.");
}
}
最佳答案
您已将所有变量声明为 main
方法内的局部变量,因此它们不在 main
之外的范围内。要让它们可以通过其他方法访问,您可以执行以下操作之一:
- 将它们作为参数传递给方法
- 在任何方法之外但在类内部将它们声明为
静态
类变量。
关于java - 在方法之间传递变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19499785/