Help needed in java code. - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Help needed in java code.

ame13ame13 Posts: 2Member
Hey everybody,
Can you help me in debugging the java code below. Am getting 2 errors at lines
1.) if(flag != 0 && flag != 1){
2.) for(int i=0;i<tankCount;i++){

The program is given below:


import java.util.Scanner;

class MileageDriver {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int tankCount=0,flag=1,gasoline,milesdriven;
double tanks_MilePerGasoline[] = new double[50];
double avgMilesPerGasoline=0.0;

while(flag == 1 ){
System.out.print("

Enter details of vehicle " + (tankCount+1) + "-->");
System.out.print("
Gasoline filled :");
gasoline = sc.nextInt();
System.out.print("Miles driven :");
milesdriven = sc.nextInt();
tanks_MilePerGasoline[tankCount] = (milesdriven*1.0)/gasoline;
++tankCount;
System.out.print("
Do u want to enter more tank details(0:Exit, 1:yes, Max tanks:50) :");
flag = sc.nextInt();
if(flag != 0 && flag != 1){
System.out.print("Invalid input by user.");
}
}
for(int i=0;i<tankCount;i++){
System.out.print("
Miles per gasoline of vehicle " + (i+1) + " is :" + tanks_MilePerGasoline[i]);
avgMilesPerGasoline += tanks_MilePerGasoline[i];
}
System.out.print("
Average Miles per gasoline of all vehicles is :" + avgMilesPerGasoline);
System.out.println();
}
}


Comments

  • vichtenstienvichtenstien Posts: 1Member
    /**
    * Here is the corrected code.
    **/

    import java.util.Scanner;

    class MileageDriver {

    public static void main(String args[]) {
    Scanner sc = new Scanner(System.in);
    int tankCount=0,flag=1,gasoline,milesdriven;
    double tanks_MilePerGasoline[] = new double[50];
    double avgMilesPerGasoline=0.0;

    while(flag == 1 ){
    System.out.print("

    Enter details of vehicle " + (tankCount+1) + "-->");

    System.out.print("
    Gasoline filled :");
    gasoline = sc.nextInt();

    System.out.print("Miles driven :");
    milesdriven = sc.nextInt();

    tanks_MilePerGasoline[tankCount] = (milesdriven*1.0)/gasoline;

    ++tankCount;

    System.out.print("
    Do u want to enter more tank details(0:Exit, 1:yes, Max tanks:50) :");
    flag = sc.nextInt();

    /**This is your original statement
    if(flag != 0 && flag != 1){
    System.out.print("Invalid input by user.");
    }
    }
    */

    /** This is the corrected statement.
    *
    * It is better to use while loop in making an iterative input and with options on what you wanted the user to input.
    **/
    while( flag != 0 && flag != 1){
    System.out.print("Invalid input by user.");
    flag=sc.nextInt();
    }
    }

    for(int i=0;i<tankCount;i++){
    System.out.print("
    Miles per gasoline of vehicle " + (i+1) + " is :" + tanks_MilePerGasoline[i]);
    avgMilesPerGasoline += tanks_MilePerGasoline[i];
    }

    System.out.print("
    Average Miles per gasoline of all vehicles is :" + avgMilesPerGasoline);
    System.out.println();
    }
    }
Sign In or Register to comment.