0

I'm new to Java and trying to get this program to close the input section but when entering 0 as intended, the loop continues rather than closing and printing the ArrayList. Can you help me figure out what I'm not getting here?

package csc320.programming.i;
import java.util.ArrayList;
import java.util.Scanner;
public class MPG {
    public static void main(String[] args) {
        Boolean close = false;
        ArrayList<String> vMake = new ArrayList<String>();
        ArrayList<String> vModel = new ArrayList<String>();
        ArrayList<String> vYear = new ArrayList<String>();
        ArrayList<String> startODO = new ArrayList<String>();
        ArrayList<String> endODO = new ArrayList<String>();
    
        Scanner scnr = new Scanner(System.in);
        
        System.out.println("Press 0 and enter to close the program");
        System.out.println("Enter Vehicle Make: ");
        String answer = scnr.nextLine();
        if (answer == "0") {
            close = true;
            System.out.println("Program closed");
        }
        else {
            vMake.add(answer);
            
            do {
                System.out.println("Enter Vehicle Model: ");
                answer = scnr.nextLine();
                vModel.add(answer);
                System.out.println("Enter Vehicle Year: ");
                answer = scnr.nextLine();
                vYear.add(answer);      
                System.out.println("Enter Vehicle Starting Odometer: ");
                answer = scnr.nextLine();
                startODO.add(answer);   
                System.out.println("Enter Vehicle Ending Odometer: ");
                answer = scnr.nextLine();
                endODO.add(answer);     
                
            }while (answer != "0");
            
        }   
        System.out.println("Vehicle Inventory:");
        System.out.println(vMake + " " + vModel + " " + vYear);
        System.out.println(startODO + " " + endODO);
        scnr.close();
    }
}

0 Answers0