Java 如何使用方法在类之间传递信息

Java 如何使用方法在类之间传递信息,java,Java,我目前正在学习我的第一门Java课程,很难理解方法以及如何在类之间传递信息 我已经为一项作业编写了代码,但我一辈子都不知道如何将应纳税所得额和税款从一个类别传递到另一个类别 请你看看我的代码,直接告诉我正确的方向,或者告诉我我做错了什么?我整个星期都在努力让它发挥作用,但运气不好。请让对Java知之甚少的人能够理解您的回答,并在此处输入代码 我的头等舱代码如下: /** * This program will ask the user for their taxable income, and

我目前正在学习我的第一门Java课程,很难理解方法以及如何在类之间传递信息

我已经为一项作业编写了代码,但我一辈子都不知道如何将应纳税所得额和税款从一个类别传递到另一个类别

请你看看我的代码,直接告诉我正确的方向,或者告诉我我做错了什么?我整个星期都在努力让它发挥作用,但运气不好。请让对Java知之甚少的人能够理解您的回答,并在此处输入代码

我的头等舱代码如下:

/**
 * This program will ask the user for their taxable income, and display that number based on calculations done in the TaxCalculator Class.
 */

import java.util.*;

public class TaxCalculatorTester{
    public static void main(String [] args){

        double taxableIncome = 0; //declare and initialize taxable income
        double tax = 0;
        Scanner input = new Scanner(System.in);

        System.out.println("This program will calculate how much you owe in taxes based on your income."); 
        System.out.println("Please enter your taxable income for this year.");
        taxableIncome = input.nextDouble( );

        TaxCalculator taxObject = new TaxCalculator();
        taxObject.CalculateTax(tax);

        System.out.println("You owe " + tax + " in taxes.");
        System.out.println("Please note this is just a estimate and acutal amount due may differ.");
    }
}
实际计算一切的第二类代码如下所示:

/**
 * This program will calculate how much tax a user owes based on the user input taxable income which is pulled from the TaxCalculatorTester class.
 */

import java.util.*;

class TaxCalculator{

    static double CalculateTax (double taxableIncome){
        double tax = 0.0;


        if (taxableIncome < 9526)
          tax = taxableIncome * .10;
        else if (taxableIncome <= 38700.99)
          tax = taxableIncome * .12;
        else if (taxableIncome <= 82500.99)
          tax = taxableIncome * .22;
        else if (taxableIncome <= 157500.99)
          tax = (taxableIncome * .24);
        else if (taxableIncome <= 200000.99)
          tax = taxableIncome * .32;
        else if (taxableIncome <= 500000.99)
          tax = taxableIncome * .35;
        else
          tax = taxableIncome * .37;
     return tax;
    }
}
/**
*此程序将根据从TaxCalculatorTester类中提取的用户输入应税收入计算用户应缴纳的税款。
*/
导入java.util.*;
类别税务计算器{
静态双重计算税(双重应纳税所得额){
双重税=0.0;
if(应纳税所得额<9526)
税款=应纳税所得额*.10;

否则,如果(应纳税收入您必须更改您的:

TaxCalculator taxObject = new TaxCalculator();
taxObject.CalculateTax(tax);
关于:

tax = TaxCalculator.CalculateTax(taxableIncome);
方法
calculateAX
(名称应以小写字母开头)是
static
,因此您可以调用它,而无需创建包含类的对象(
calculateAX

在您的代码中,您将
tax
作为
CalculateTax
方法的参数传递,但是
tax
0
。您必须传递用户键入的值,因此
可征税收入


另外,您必须记住将方法
CalculateTax
返回的值赋给某处,因为在您的代码中,您正在传递数据,方法正在进行一些计算,而您不关心结果(返回值).

参数名为
taxableIncome
。但您传递的是变量
tax
,其值始终为0。并且您忽略CalculateTax方法返回的内容,即计算结果。请注意,方法应以小写字母开头。糟糕的标题。总结您的特定技术问题。这是一个static方法,所以您不需要实例化它,您只需通过引用直接调用它。您还应该将它保存到一个变量。double calculatedTax=TaxCalculator.CalculateTax(tax);将
taxableIncome
(非
tax
)传递到
CalculateTax()
tax=taxObject.CalculateTax(taxableIncome);
然后产生预期的结果。作为补充说明,您应该看一下。方法不应该以大写字母开头。