java - 在方法之间传递变量?

标签 java variables methods scope

所以我正在尝试为大学编写一个简单的 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/

相关文章:

C++更新/更改来自不同类/变量的变量

jQuery 从变量中获取数据

java - 网络钓鱼扫描程序帮助

php 大括号和字符串

java - 我在调用矩形面积的方法时遇到问题

multithreading - COM 对象方法不在 CoInitialize-d 并创建对象的线程上执行

java - 支持通过模型元素进行搜索的 JComboBox 包装器存在与插入符相关的错误

javascript - WEBRTC 可以使用共同浏览功能吗?

java - 在 native 方法中更改字符串

java - 使用 Http11NioProtocol 时启动 JBoss EAP 6.2 时出错