Variable declaration and initialization in Java

errkuh

Where should I place this command in my code?

Item item = new Item();

I should put this inside my loop do-while so that it keeps on creating a new Item class depends on the user if how many times they want to input another product.

The problem is whenever i put that command inside my do-while, it cannot find the symbol item based on the codes at the bottom of my program. So where i should put it?

My code:

public static void main(String[] args) {

    Scanner scan = new Scanner(System. in );
    String prompt, id;
    int z = 0, choice, x = 999;
    int iprice;
    String icode;
    String iname;

    class Item {
        public int price;
        public String code;
        public String name;
    }

    ArrayList<Item> cart = new ArrayList<Item>(0);

    do {
        System.out.print("\nItem Code: ");
        icode = scan.next();
        System.out.print("Item Name: ");
        iname = scan.next();
        System.out.print("Item Price: ");
        iprice = scan.nextInt();

        item.code = icode;
        item.name = iname;
        item.price = iprice;

        cart.add(item);

        System.out.print("\tInput another? Y/N? ");
        prompt = scan.next();

    } while (prompt.equals("y"));

    System.out.println("\nWhat do you want to do?");
    System.out.println("\n1. Purchase Item ");
    System.out.println("2. List of Products ");
    System.out.println("3. Exit Program ");

    System.out.print("\n\tChoice: ");
    choice = scan.nextInt();
    if (choice == 1) {
        System.out.println("\nItem Code: ");
        id = scan.next();
        if (item.code.equals(id)) {
            System.out.println("Item Name: " + item.name);
            System.out.println("Item Price: " + item.price);
        }
    }
}
MikO

You should probably declare the variable outside the loop with:

Item item;

And then you should initialize it at the very beginning of the loop:

item = new Item();

This way the variable is visible troughout the class, so you won´t get the error you metioned...

Also, this basically means that you are creating a new object in each loop iteration, and you are assigning this new object to the variable item you previously declared, so your user can create as many different items as he wants...

Note that, although you are overriding the variable item in each iteration, you won´t lose the object previously attached to the variable item, because you are adding a reference to that object into your ArrayList<Item> cart when you do cart.add(item)...

You may want to read this article about declaration of classes and objects in Java, scopes and so on...

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Comma in variable initialization/declaration

From Dev

Variable declaration and initialization in JavaScript/Node.JS

From Dev

C++11 Variable Initialization and Declaration

From Dev

Is variable when accessed from outside the For loop is not possible in Java if declaration is done in main method & initialization inside loop?

From Dev

Variable declaration not allowed in Java

From Dev

Dynamic variable declaration in Java

From Dev

Java - outer variable declaration

From Dev

Java variable declaration not allowed

From Dev

Java Final Variable Initialization

From Dev

Static variable initialization during declaration in multi-threading

From Dev

Java one line variable declaration?

From Dev

Java variable declaration current standards

From Dev

What variable to use in Java declaration

From Dev

Java variable initialization in if-then statement

From Dev

Understanding static variable initialization in Java

From Dev

Java: creating an object in 3 single steps (Declaration, Allocation/Initialization, Assignment)

From Dev

Multiple NSString declaration and initialization

From Dev

Initialization during explicit declaration

From Dev

Array initialization at declaration

From Dev

Java multiple inheritance duplicate variable declaration?

From Dev

Can I change declaration type for a variable in Java?

From Dev

Java: static variable declaration best practices

From Dev

Java Coding standard: multiple variable declaration

From Dev

Java: lambda local variable declaration issue

From Dev

Java: Where to place declaration of final variable

From Dev

How to access/change a variable in the initialization? JAVA

From Dev

Java variable initialization different ways of handling?

From Dev

difference between slice declaration and initialization

From Dev

Breakpoint on const string declaration/initialization

Related Related

  1. 1

    Comma in variable initialization/declaration

  2. 2

    Variable declaration and initialization in JavaScript/Node.JS

  3. 3

    C++11 Variable Initialization and Declaration

  4. 4

    Is variable when accessed from outside the For loop is not possible in Java if declaration is done in main method & initialization inside loop?

  5. 5

    Variable declaration not allowed in Java

  6. 6

    Dynamic variable declaration in Java

  7. 7

    Java - outer variable declaration

  8. 8

    Java variable declaration not allowed

  9. 9

    Java Final Variable Initialization

  10. 10

    Static variable initialization during declaration in multi-threading

  11. 11

    Java one line variable declaration?

  12. 12

    Java variable declaration current standards

  13. 13

    What variable to use in Java declaration

  14. 14

    Java variable initialization in if-then statement

  15. 15

    Understanding static variable initialization in Java

  16. 16

    Java: creating an object in 3 single steps (Declaration, Allocation/Initialization, Assignment)

  17. 17

    Multiple NSString declaration and initialization

  18. 18

    Initialization during explicit declaration

  19. 19

    Array initialization at declaration

  20. 20

    Java multiple inheritance duplicate variable declaration?

  21. 21

    Can I change declaration type for a variable in Java?

  22. 22

    Java: static variable declaration best practices

  23. 23

    Java Coding standard: multiple variable declaration

  24. 24

    Java: lambda local variable declaration issue

  25. 25

    Java: Where to place declaration of final variable

  26. 26

    How to access/change a variable in the initialization? JAVA

  27. 27

    Java variable initialization different ways of handling?

  28. 28

    difference between slice declaration and initialization

  29. 29

    Breakpoint on const string declaration/initialization

HotTag

Archive