Jump to content
Pavolin9

Manipulação de matrizes em JAVA

Recommended Posts

Bom dia, estou desenvolvendo um sistema bem simples de estoque onde os itens serao armazenados em uma matriz segue codigo:

    package main;
    
    import java.io.Console;
    import java.util.Arrays;
    import java.util.Scanner;
    
    public class IncluirItem{
        public static void main(String[] args) {
            String[][] itens = new String[2][5];
            String[] campos = new String[7];
            int opcao = 0;
            int remover;
            int verificar = 0;
            int adcionar = 0;
            int tamanho = 2;
            
            Scanner sc = new Scanner(System.in);
            
            campos [1] = "Nome";
            campos [2] = "Codigo de barras";
            campos [3] = "quantidade";
            campos [4] = "validade";
            campos [5] = "data de entrada";
            
            do {
                System.out.println("\n\n### Sistema de estoque - simplificado ###");
                System.out.println("=========================================");
                System.out.println("      |     1 - Adcionar itens   |");
                System.out.println("      |     2 - Excluir itens    |");
                System.out.println("      |     3 - Mostrar itens    |");
                System.out.println("      |     0 - Sair             |");
                System.out.println("=========================================\n");
                
                System.out.println("Escolha uma opcao: ");
                opcao = sc.nextInt();
                System.out.print("\n");
                
                switch (opcao) {
                case 1:
                    System.out.println("Cadastro de itens: ");
                    //Adciona itens 
                    for (int i = 0; i <2; i++) {
                        System.out.println("Adcionar item? ");
                        System.out.println("1 para sim \n2 para nao: ");
                        adcionar = sc.nextInt();
                        if (adcionar == 1) {
                            System.out.printf("%d. item \n", (i+1));
                            verificar = verificar + 1;
                            for (int j=0; j < 5; j++) {    
                                System.out.printf("%s ", campos[j+1]);
                                System.out.printf("= ", i,(j+1));
                                itens[i][j] = sc.next();
                                
                            }
                            System.out.printf("\n");
                        }
                        else {
                            break;
                        }
                    }
                        
                    break;
                case 2:
                    //Remove itens
                    System.out.println("Exclusao de itens: ");
                    if(verificar > 0) {
                        for (int i = 0; i <2; i++) {    
                            System.out.printf("%d. item \n", (i+1));
                            System.out.printf("ID do produto= 00%d \n", (i+1));
                            System.out.printf("\n");
                        }
                    }
                    else {
                        System.out.println("Nenhum item listado!");
                    }
                    System.out.println("\nEscolha o numero do item a ser removido: \n");
                    remover = sc.nextInt();
                    for (int i = 0; i <2; i++) {
                        if(remover == 2) {
                        itens[i] = itens[i-1];
                        }
                    }
                    break;
                case 3:
                    //Mostra itens
                    if(verificar > 0) {
                        
                            for (int i = 0; i <2; i++) {    
                                if (verificar == 2) {
                                System.out.printf("%d. item \n", (i+1));
                                System.out.printf("ID do produto= 00%d \n", (i+1));
                                for (int j=0; j < 5; j++) {    
                                    System.out.printf("%s ", campos[j+1]);
                                    System.out.printf("= %s \n", itens [i][j]);
                                }
                                System.out.printf("\n");
                            }
                            else {
                                        itens = Arrays.copyOf(itens, tamanho - 1);
                                        verificar = 0;
                                        System.out.printf("%d. item \n", (i+1));
                                        System.out.printf("ID do produto= 00%d \n", (i+1));
                                        for (int j=0; j < 5; j++) {    
                                            System.out.printf("%s ", campos[j+1]);
                                            System.out.printf("= %s \n", itens [i][j]);
                                        }
                                        System.out.printf("\n");
                                        break;
                                }
                        }
                    }
                    else {
                        System.out.println("Nenhum item listado!");
                    }
                    
                    break;
                default:
                    System.out.println("Opção Inválida!");
                    break;
                }
            } while(opcao != 0);
        }
    }

 

Minha duvida é a seguinte, eu quero excluir uma posicao da matriz, exemplo: registrei dois itens, na coluna um e coluna dois da matriz e gostaria de remover a coluna um da lista, como realizo essa função, e outra coisa, eu gostaria de quando eu inserisse pela segunda vez algum item a matriz começasse na proxima possicao vazia, atualmente se eu pedir para inserir um novo item a matriz começa da primeira posicao e assim apaga os elementos ja inseridos.
 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Adriano Costa
      Fala pessoal tudo blz? Gostaria de fazer uma pergunta sobre logica de programação, eu criei um ToDo List  em Java Web, no meu projeto eu tenho uma tela de login que depois de logar o usuário acessa a lista de tarefa dele, a minha pergunta é, como eu poderia fazer para que cada usuário tenha acesso somente a sua lista de tarefas. Me da uma luz de que forma eu poderia fazer essa logica. Desde já agradeço. 
    • By Adriano Costa
      Fala galera!!!
      Eu sou novo na programação e estou precisando de uma ajuda, estou tentando fazer um for dentro dos scriplets mas esta dando erro. É a parte do read do meu crud. Quando eu aço o for através da camada controller ele funciona, mas na pagina jsp ele da um erro.
       
      <%@ page language="java" contentType="text/html; charset=utf-8"
          pageEncoding="utf-8"%>
      <%@page import="model.JavaBeans"%>
      <%@page import="java.util.ArrayList"%>  
      <%
          ArrayList<JavaBeans> lista = (ArrayList<JavaBeans>)request.getAttribute("contatos");
          for (int i = 0; i < lista.size(); i++){
              out.print(lista.get(i).getIdlista());
          }
      %>
       
      <!DOCTYPE html>
      <html>
      <head>
      <meta charset="utf-8">
      <title>Lista de Tarefas</title>
      <link rel="stylesheet" href="css/styles.css">
      </head>
      <body>
          <div id= "login-container">
              <h1>Lista de Tarefas</h1>
              <table>
                  <thead>
                      <tr>
                          <th>Código</th>
                          <th>Titulo</th>
                          <th>Descrição</th>
                          <th>Data</th>
                          <th>Status</th>
                          <th>Prioridade</th>
                      </tr>
                  </thead>
                  <tbody>
                      
                  </tbody>
              </table>
              <form name="frmContato" action="listarTarefa">
                  
                  <input type="submit" value="Cadastrar" onclick="validar()">
              </form>
              
          </div>
          <script src="scripts/validador.js"></script>    
      </body>
      </html>
       
      E esse é o erro
       
      HTTP Status 500 – Internal Server Error
      Type Exception Report
      Message An exception occurred processing [/listaTarefas.jsp] at line [8]
      Description The server encountered an unexpected condition that prevented it from fulfilling the request.
      Exception
      org.apache.jasper.JasperException: An exception occurred processing [/listaTarefas.jsp] at line [8] 5: 6: <% 7: ArrayList<JavaBeans> lista = (ArrayList<JavaBeans>)request.getAttribute("contatos"); 8: for (int i = 0; i < lista.size(); i++){ 9: out.print(lista.get(i).getIdlista()); 10: } 11: %> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:611) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:500) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:378) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:326) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Root Cause
      java.lang.NullPointerException org.apache.jsp.listaTarefas_jsp._jspService(listaTarefas_jsp.java:126) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:467) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:378) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:326) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Note A pilha de erros completa da causa principal está disponível nos logs do servidor.
       
       
      esse é o Medoto
       
      // Listar tarefa
              protected void tarefas(HttpServletRequest request, HttpServletResponse response)
                      throws ServletException, IOException {
                  //Criando um objeto que irá receber os dados do JavaBeans
                  ArrayList<JavaBeans> lista = dao.listarTarefa();
                  
                  request.setAttribute("tarefas", lista);
                  RequestDispatcher rd = request.getRequestDispatcher("listaTarefas.jsp");
                  rd.forward(request, response);
                  
                  //Teste de recebimento da lista
                  for(int i = 0; i<lista.size(); i++) {
                      System.out.println(lista.get(i).getIdcon());
                      System.out.println(lista.get(i).getTitulo());
                      System.out.println(lista.get(i).getDescricao());
                      System.out.println(lista.get(i).getData());
                      System.out.println(lista.get(i).getStatus());
                      System.out.println(lista.get(i).getPrioridade());
                  }
              }
          
    • By JonasFloripa
      Bom dia pessoal..
      Estou com um problema e apareceu quando migrei o sistema ue tenho do php5 para o php7.
      Essa parte do sistema que está dando o problema seria quando quero adicionar o nome do pessoal em uma escala, mas quando seleciono os nomes partindo de quem começa com  a letra 'R', não envia as infomarções. Isso não acontecia no php5.
      Vou colocar o código abaixo e o que mostra quando seleciono o checkbox.
       
       
      <table width="100%" border="0" cellpadding="1" cellspacing="1"> <tr> <td width="9%" align="center"> <input name="conf[]" type="checkbox" value="<?PHP echo $login; ?>"/> </td> <td width="21%"><input name="login_<?PHP echo $login;?>" type="text" value="<?PHP echo $login; ?>" readonly class="negrito"/></td> <td width="13%"><input name="hora2_<?PHP echo $login;?>" type="text" value="<?PHP echo $hora2; ?>" size="4" readonly class="negrito"/></td> <td width="13%"><input name="somah2_<?PHP echo $login;?>" type="text" value="<?PHP echo $somah2; ?>" size="4"readonly="readonly" class="negrito"/></td> <td width="13%"><input name="quantidade_<?PHP echo $login;?>" type="text" value="<?PHP echo $total2; ?>" size="4"readonly="readonly" class="negrito"/></td> <td width="16%"><input name="data_<?PHP echo $login;?>" type="text" value="<?PHP echo $data; ?>" size="10" readonly class="negrito"/></td> <td width="15%"><input name="idescala_<?PHP echo $login;?>" type="text" value="<?PHP echo $idescala; ?>" size="5" readonly class="negrito"/></td> </tr> </table>  
    • By 4Unknow
      Boa tarde pessoal, como estão?
       
      Gostaria de uma ajudinha aqui. A forma mais prática e com um layout bacana, um pop-up toda vez(ou não) que o usuário abrir o site, um informativo que é importante.
      Tenho um site que vende algo muito específico e preciso deixar claro sobre meu produto como um informativo. Ou um banner/popup que abre quando o usuário entra no site para deixar claro.

      Ou um footer bonito que deixa claro essa informação.

      Se alguém tiver uma ideia ou puder ajudar, eu agradeceria.
    • By TeixeiraRamos
      Prezados, saúde e paz.
      Por favor, tenho muita vontade de aprender Java, mas estou tendo os seguintes problemas:
      Windows 10 - 64 bits
      Instalei o JDK 17, mas ao instalar o NetBeans 12.4 informa que não é compatível com essa versão do JDK.
      Então desinstalei e instalei o JDK 16.0.2 e voltei a instalar o NetBeans 12.4 e apareceu a seguinte mensagem no final "The specified installation folder is not empty."
      Nesta última etapa está:
      Install the Apache NetBeans IDE to:
      C:\Program Files\NetBeans-12.4
       
      JDK for the Apache NetBeans IDE:
      C:\Program Files\Java\jdk-16.0.2
      Adianto que antes de fazer a instalação do NetBeans fiz a alteração do PATCH e a Edicação das Variaveis do Sistema.
       
      Muito obrigado.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.