创建对象的循环输出无效

Bre*_*mes -4 java

我的计划应该是一个人的佣金,它只是输出0.0美元.我很困惑.这是我的代码.我已经尝试了一些我能想到的解决方法.这可能是我犯下的一个小愚蠢的错误,我太累了,看不到它.

public class SalesComissionCalculator 
{
double item1;
double item2;
double item3;
double item4;
double finalamount;

public SalesComissionCalculator()
{
    item1 = 239.99;
    item2 = 129.75;
    item3 = 99.95;
    item4 = 350.89;
    finalamount = 0;
}
public void Additem(int input)
{
    if(input == 1)
        finalamount = finalamount + item1;
    if(input == 2)
        finalamount = finalamount + item2;
    if(input == 3)
        finalamount = finalamount + item3;
    if(input == 4)
        finalamount = finalamount + item4;
}
public void Finalcalculations()
{
    double temp;
    temp = finalamount * (.09);
    finalamount = temp + 200.00;
}
public void Display()
{
    System.out.println("Last Weeks earnings are $" + finalamount);
}
}

//CalculatorTest.java
import java.util.Scanner;

public class CalculatorTest {

public static void main(String[] args) 
{
    System.out.println("Sales Commission Calculator");
    for(int i = 0; i != -1; i++)
    {
        int input;
        SalesComissionCalculator Person = new SalesComissionCalculator();
        Scanner userinput = new Scanner(System.in);
        System.out.println("Input a number for the item sold. Item 1 would be ex: 1");
        System.out.println("Item 2 = 2, Item 3 = 3, Item 4 = 4.");
        System.out.println("To end the loop type in -1");
        input = userinput.nextInt();
        if(input != -1)
        {
            Person.Additem(input);
        }
        if(input == -1)
        {
            Person.Display();
            break;
        }
    }
}

}
Run Code Online (Sandbox Code Playgroud)

我通过在循环中创建一个对象来犯了一个愚蠢的错误,所以它实际上从来没有一个值.谢谢你的帮助.

Boa*_*ann 7

这一行:

SalesComissionCalculator Person = new SalesComissionCalculator();
Run Code Online (Sandbox Code Playgroud)

在for循环中.因此,finalamount每次通过循环读取下一个输入时,它都会创建一个新的person对象(f为0.0).将该行移动到循环上方,以便您只在方法中创建一次该人.

  • 我不配6个赞成指出这个显而易见的家伙的事情,来吧. (2认同)