Как уже упоминалось @ "Scary Wombat", ваш подход лучше подходит для одномерного массива, чем для 2D. Однако, поскольку вы хотите использовать 2D-массив, я хотел бы указать, где ваш код может быть лучше. Также он отметил необходимость декларировать размер перед использованием 2D-массива
Ваша строка "itemsCart = new int [itemsPrice] [itemsPrice];" было бы лучше, так как itemsCart = new int [i] [itemsPrice]; поскольку это обеспечит заполнение новых индексов соответствующими значениями.
Я внес некоторые изменения в вашу главную. Не стесняйтесь, как я, если вы не понимаете
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int[][] itemsCart;
int itemsInTheCart=0;
int itemsPrice = 0;
System.out.print("Please enter the number of items in your cart: ");
itemsInTheCart = scan.nextInt();
itemsCart= new int[itemsInTheCart][2];
for(int i = 0; i < itemsInTheCart; i++){
System.out.print("Enter the price for item " + (i+1) + ": ");
itemsPrice = scan.nextInt();
itemsCart[i][1] = itemsPrice;
}
// for testing
for (int i=0;i<itemsInTheCart;i++){
System.out.println("Item: "+(i+1)+" for price: "+ itemsCart[i][1] );
}
}