Simple Java for statement problem

Discussion in 'Web Design & Coding' started by Scott Young, Feb 20, 2006.

  1. Scott Young

    Scott Young Real picture of me

    Messages:
    97
    Im having a problem with some java code, wondering what is wrong with this for statemnt to stop it compiling?

    class car{

    String Model;
    int enginecapacity, yearofmanufacture;
    double PriceWhenNew;

    public void readDetails(){

    System.out.println("Please Enter the model:");
    uuInOut.ReadString();
    System.out.println("Please Enter the engine capacity:");
    uuInOut.ReadInt();
    System.out.println("Please Enter the year of manufacture:");
    uuInOut.ReadInt();

    System.out.println("Please Enter the price of the car when new:");
    uuInOut.ReadInt();


    }

    private double roadTax(int enginecapacity){

    if (enginecapacity<= 1200)
    return 100;
    else if ((enginecapacity > 1200) && (enginecapacity<= 2000))
    return 150;
    else
    return 200;
    }
    private double currentValue(){

    for (intYearofManufacture; Yearofmanufacture<=2006; Yearofmanufacture++){

    PriceWhenNew - (PriceWhenNew*10/100);


    }
    }
     
  2. apu95

    apu95 Caffeine-->Code Converter

    Messages:
    502
    Location:
    Montreal, Canada
    I can help you I think :)
    I need the whole source code though, so post (or attach) both the car source and the main source.
    So I can know in advance, what's the compile error you're getting?

    Edit: Nevermind what I posted, I found it I think.

    for (intYearofManufacture; Yearofmanufacture<=2006; Yearofmanufacture++){

    PriceWhenNew - (PriceWhenNew*10/100);
    }


    You forgot to declare the first int in the for. You typed in intYearofManufacture, but that doesn't mean anything. You have to initialize it: int yearofManufacture = SomeYear
     
    Scott Young likes this.
  3. Scott Young

    Scott Young Real picture of me

    Messages:
    97
    thanks very much, compiles fine now!
     
  4. Geffy

    Geffy Moderator Folding Team

    Messages:
    7,805
    Location:
    United Kingdom
    you dont need to have an assignment in the first piece of the for, any statement will do

    you might have needed something like

    for (int yearmade = yearofmanufacture; yearmade <= 2006; yearmade++)

    making a copy of yearofmanufacture and working with that in your function so that you dont start incrementing your class variable yearofmanufacture and thereby screwing up any future calls to currentValue()