Duvida Arrays Bidimensionais

Eae, meu povo!

Estou precisando da ajuda com um algoritmo, vamo lá:

Estou tentando fazer um algoritmo que fará a leitura do Código do Produto, Valor Unitario, Quantidade, etc. Além disso, o ‘cliente’ terá um limite de itens em cada pedido. Sendo assim, pensei da seguinte forma: farei uma matriz 2x4, onde o cliente poderá ter 3 itens.

Porém começam os problemas haha. Depois de colocar os atributos do item à serem inseridos, pensei em fazer um ‘For’ para percorrer as posicoes da matriz. A saida ficaria no ‘getItem’, que é chamado depois do boolean. Eu queria que o programa mostrasse cada item que foi inserido individualmente. Entretanto, não estou conseguindo fazer a saida dos dados. O programa não está pronto, estou sempre fazendo mudanças, mas está da seguinte forma:

public class **PedidoItem** {
		    
		    int **Cod_Produto**;
		    float **Vlr_Unitario**;
		    int **Qtd_Basica**;
		    int **UM_Basica**;
		    int **m**[ ] [ ] = new int [2] [4];
		    
		            
		    public static void main(String[] args) {
		    	
		    	**Pedido** n1 = new **Pedido**();
		        n1.setItem();
		        
		    }
		    
		}

=========

import javax.swing.JOptionPane;
	
	public class Pedido extends PedidoItem {
	    int **Codigo_Pedido**;
	    int **Codigo_Cliente**;
	    float **Vlr_Total**;
	    
	    
	public void setItem(){
		
	for(int i = 0; i<m.length;) {
			
		for(int j=0; j<=2;j++) {
		
		Cod_Produto = Integer.parseInt(JOptionPane.showInputDialog("Informe o codigo do produto"));
		if(Cod_Produto == 0) {
			System.out.println("Encerrando");
			System.exit(0);
		} else {
			m[i][j] = Cod_Produto;
		}
		
        Vlr_Unitario = Integer.parseInt(JOptionPane.showInputDialog("Informe o valor unitario"));
        	m[i][j] = (int) Vlr_Unitario;
        	
      
        Qtd_Basica = Integer.parseInt(JOptionPane.showInputDialog("Informe a quantidade"));
        	m[i][j] = Qtd_Basica;
     
        
        int n = JOptionPane.showConfirmDialog(null, "Adicionar mais itens?" + JOptionPane.YES_NO_OPTION);
         
        if(n == 1) {
        	
			getItem();  
			
        		   }
        
        else { 
        		i++;
        	 setItem();
        	
        }
        }
		}
		}

public void **getItem**() {
		for(int i = 0; i<m.length; i++) {
			for(int j=0; j<m[i].length; j++ )
		System.out.print(m[i][j] + " ");
		

			System.exit(0);
				
			}
		}

Oi Kleiton!
Usar essa matriz é um requisito obrigatório do programa? Se não for sugiro vc alterar um pouco a estrutura do seu programa. Eu faria o seguinte:
Um objeto “Produto” com os atributos ‘codigo_produto’, ‘valor_unitario’, etc.
Um objeto “PedidoItem” com os atributos “quatidade” e “Produto” (o objeto citado anteriormente)
Um objeto “Pedido” com os atributos ‘codigo_pedido’, ‘codigo_cliente’, e um arraylist de objetos “PedidoItem”.
Assim você consegue exibir os dados de cada item do pedido usando os getters padrão.

2 curtidas