Jump to content
Pavolin

Duvidas em uma serie de problemas

Recommended Posts

Boa noite, 

Estou aprendendo java na faculdade e tenho uma lista para fazer, me esforcei o fim de semana todo e conseguir só fazer algumas partes, peco por favor para vocês me ajudarem vou por minhas duvidas a seguir:

1.Faça um programa que deverá ler e armazenar na memória um as informações das pessoas. Deverá ser criada uma classe Pessoa com os atributos nome, data de nascimento, peso e altura. Crie os métodos públicos necessários para sets e gets e também um método para imprimir todos dados de uma pessoa. Crie um método para calcular a idade da pessoa. Crie um método para calcular o índice de massa corporal (IMC) de uma pessoa seguindo a seguinte fórmula
                                 IMC=peso/〖altura〗^2 
Deverá ser criada uma classe de teste para testar a chamada de todos os métodos.

(neste problema consegui fazer a  classe pessoa mas faltando algumas coisas que esta comentada no código, e não consegui fazer a classe teste)

"classe pessoa":
[
import java.util.Scanner;

public class Pessoa{

    private static String nome;
    private static String dataNascimento;
    private static float altura;
    private static float peso;
    private static float idade;

    public static String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        Pessoa.nome = nome;
    }

    public static String getDataNascimento() {
        return dataNascimento;
    }

    public void setDataNacimento(String dataNacimento) {
        Pessoa.dataNascimento = dataNacimento;
    }

    public static float getAltura() {
        return altura;
    }

    public void setAltura(float altura) {
        Pessoa.altura = altura;
    }

    public static float getPeso() {
        return peso;
    }

    public void setPeso(float peso) {
        Pessoa.peso = peso;
    }
    
    public static float getIdade() {
        return idade;
    }

    public static void setIdade(float idade) {
        Pessoa.idade = idade;
    }
    
    public static Scanner entrada;
    public static float imc;
    
    public static void main(String[] args) {
        entrada = new Scanner(System.in);
        
        System.out.println("Digite seu nome: ");
        nome = entrada.nextLine();
        
        System.out.println("Digite sua data de nacimento: ");
        dataNascimento = entrada.nextLine();
    
        System.out.println("Digite seu Peso: ");
        peso = entrada.nextFloat();
        
        System.out.println("Digite sua Altura: ");
        altura = entrada.nextFloat();
    }
    
    public void imc() {
        imc = altura * altura;
        imc = peso / imc;
    }
    
    // preciso de um metodo para calcular a idade do usuario que seria a data atual - a data de nacimento.
    // alocando na variavel idade.
    
    public static void main1(String[] args) {
        System.out.println("Seu nome e: " + nome);
        System.out.println("Sua altura e: " + altura);
        System.out.println("Seu peso e: " + peso);
        System.out.println("Sua idade e: " + idade);
        System.out.println("Seu IMC : " + imc);
    }
}
]

2- Escreva uma classe cujos objetos representam alunos matriculados em uma disciplina. Cada objeto dessa classe deve guardar os seguintes dados do aluno: matrícula, nome, 2 notas de prova e 1 nota de trabalho. Escreva os seguintes métodos para esta classe: calculaMedia - calcula a média final do aluno (cada prova tem peso 2,5 e o trabalho tem peso 2) calculaFinal calcula quanto o aluno precisa para a prova final (retorna zero se ele não for para a final). Deverá ser criada uma classe de teste para testar a chamada de todos os métodos.

( Neste eu consegui fazer a classe alunos, mas falta a classe calculaMedia , calculaFinal e a classe teste)

"Classe aluno":
[
package Exercicio2;

public class Alunos {

        private static String matricula;
        private static String nome;
        private static float nota1;
        private static float nota2;
        private static float trabalho;
        
        public static String getMatricula() {
            return matricula;
        }
        public void setMatricula(String matricula) {
            Alunos.matricula = matricula;
        }
        public static float getNota1() {
            return nota1;
        }
        public void setNota1(float nota1) {
            Alunos.nota1 = nota1;
        }
        public static String getNome() {
            return nome;
        }
        public void setNome(String nome) {
            Alunos.nome = nome;
        }
        public static float getNota2() {
            return nota2;
        }
        public void setNota2(float nota2) {
            Alunos.nota2 = nota2;
        }
        public static float getTrabalho() {
            return trabalho;
        }
        public void setTrabalho(float trabalho) {
            Alunos.trabalho = trabalho;
        }
}
]

3-Crie uma classe denominada Elevador para armazenar as informações de um elevador dentro de um prédio. A classe deve armazenar o andar atual (térreo = 0), total de andares no prédio (desconsiderando o térreo), capacidade do elevador e quantas pessoas estão presentes nele. A classe deve também disponibilizar os seguintes métodos: 
construtor : que deve receber como parâmetros a capacidade do elevador e o total de andares no prédio (os elevadores sempre começam no térreo e vazio); 
Entra : para acrescentar uma pessoa no elevador (só deve acrescentar se ainda houver espaço); 
Sai : para remover uma pessoa do elevador (só deve remover se houver alguém dentro dele); 
Sobe : para subir um andar (não deve subir se já estiver no último andar); 
Desce : para descer um andar (não deve descer se já estiver no térreo); 
Encapsular todos os atributos da classe (criar os métodos set e get).
Deverá ser criada uma classe de teste para testar a chamada de todos os métodos.

(Este eu não tenho a menor ideia de como fazer não conseguir fazer nada dele)

4-Crie uma classe Televisao e uma classe ControleRemoto que pode controlar o volume e trocar os canais da televisão. O controle de volume permite: 
•    aumentar ou diminuir a potência do volume de som em uma unidade de cada vez; 
•    aumentar e diminuir o número do canal em uma unidade 
•    trocar para um canal indicado; 
•    consultar o valor do volume de som e o canal selecionado. 

(Este eu consegui fazer as duas classes (Televisao e ControleRemoto) mas esta faltando algumas coisas que esta comentado nos codigos)

"Classe televeisao":
[
package Exercicio4;

public class Televisao {
    private static int canal;
    private static int volume;
    
    public static int getCanal() {
        return canal;
    }
    public static void setCanal(int canal) {
        Televisao.canal = canal;
    }
    public static int getVolume() {
        return volume;
    }
    public static void setVolume(int volume) {
        Televisao.volume = volume;
    }

    public void canal() {
        System.out.println(nextInt(99));
        // Nao sei se esta correto mas fiz esse metodo para limita os canais a no maximo 99.
        //necessito tambem de um metodo para quando o usuario por + aumentar o numeor do canal e - diminuir.
        // para ele ter duas opcoes ou pelo numero certo dele ou pelo + e -.
    }
    
    public void volume() {
        System.out.println(nextInt(100));
        // mesma coisa aki mas com o volume limitado a 100.
    }
    
    private char[] nextInt(int i) {
        return null;
    }
}
]

"classe controle remoto":
[
package Exercicio4;

import java.util.Scanner;

public class ControleRemoto {
    private static int consulta;
    private static Scanner entrada;

    public static int getConsulta() {
        return consulta;
    }

    public static Scanner getEntrada() {
        return entrada;
    }

    public static void setEntrada(Scanner entrada) {
        ControleRemoto.entrada = entrada;
    }
    
    public static void setConsulta(int consulta) {
        ControleRemoto.consulta = consulta;
    }
    
    public static void main(String[] args) {
        setEntrada(new Scanner(System.in));
        
    //O usuario ira colocar as informacoes ex: numero do canal que deseja trocar,
    // se deseja aumentar ou diminuir o volume (obs: tem dois jeitos de trocar de canal pelo numero ou por + e -)
    }    
    
    // um metodo para imprimir a confirmacao da entrada ex: voce trocou para o canal 5 , 
    // o volume da tv esta em 12.(que seria a parte de consulta)
}
]

sei que estou abusando aqui mas estou tendo dificuldades e preciso entregar logo e não me sobra tempo para fazer de semana.
Desde já agradeço

Share this post


Link to post
Share on other sites

Opa @Pavolin, uma coisa de cada vez, hehe. 

 

Vamos ver o exercício 1, na parte da data.

Existe uma classe muito interessante chamada LocalDate. 

public int calculaIdade(){
	DateTimeFormatter formatoData = DateTimeFormatter.ofPattern("d/MM/yyyy");

	String dataNascimento = "25/05/2018"; 		//aqui no caso é a data que tu leu do usuário
	LocalDate dateFormatted = LocalDate.parse(dataNascimento, formatoData);

	return Period.between(dateFormatted, LocalDate.now()).getYears();
}

 

Entendendo:

*Na primeira linha a gente define um padrão de data, para o software entender (até para fazer o cálculo depois). Deverá corresponder com o padrão que tu quer e o usuário deverá digitar da mesma forma (ou tu lê e trata depois).

 

*A segunda linha é só pra exemplificar, já que tu já terá um valor na tua variável de data.

 

*Na terceira linha usamos, finalmente, o LocalDate. Vamos transformar aquela string que contém a data para uma variável de data propriamente dita, utilizando o padrão que definimos anteriormente.

 

*Por último, retornamos um valor inteiro, usando como base o método estático between da classe Period (que recebe dois LocalDate como parâmetro). Esse método trará dia, mês e ano, por isso aplicamos o getYears() para obtermos somente os anos.

 

Espero ter ajudado. 

Se quiser, podemos tentar ir resolvendo os demais.

 

Abraço!

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 kaayasinho
      Boa tarde Pessoal tudo bom?
      Durante um tempo eu fui estudante de programação, para web. E esse forum me foi muito util pois aprendi muitas coisas, e tirei muitas duvidas com todos os participantes. Por outro lado não segui a carreira de programado pois tive outras oportunidades.
       
      Em fim, estou com um projeto de criar uma plataforma online para eventos, e estou tentando montar um time chegar nesse objetivo. Por hora ainda estou tentando juntando a equipe necessária para isso acontecer.
       
      Pela pouca experiência que tive na programação, sei que fazer essa plataforma é bem complexa principalmente com as necessidades que vamos englobar, porém o mercado esta escasso de plataformas flexíveis, no sentido de oferecer algumas ferramentas básicas na comunicação. apesar de ja existir algumas plataformas no mercado.
       
      Resumo:
      1-) Procuro por programadores backend com experiência (não sei exatamente informar a linguagem) mas chuto que Java, Javascript e PHP sejam fundamentais. (sei que abusaremos muito do AJAX)
       
      2-) Programador FrontEnd, com experiência. E que tenha principalmente em boas praticas, pois código sujo cheio de plugins tornará a plataforma pesada, e cheia de bugs.
       
      PS: Não procuro nada pronto, claro que plugins coisas são inevitáveis porém para funcionarmos Lisos com menos bugs possíveis procuro algo feito “artesanalmente” rsrs.
       
      Obs: o projeto esta no inicio ainda, estou juntando contatos para chegar no objetivo, e assim que tiver um contato gostaria de poder conversar trocar ideias, caso seja um projeto onde você se identifique nada impede de sermos parceiros ter uma % sobre o negocio.
       
       
      Obs2: Desculpem se escrevi meio enrolado ou esta complicado de entender. pois apenas disse plataforma de eventos e não especifiquei nada. mas assim que receber um contato eu passo mais informações com alguns links de exemplos, que é melhor que falar.
       
      E caso aqui seja o lugar correto posso passar mais informações por aqui também.
       
      Seguem alguns exemplos de plataforma de eventos online.
      Download de 2 PDFs de apresentações do mesmo segmento
       
      Site de uma das plataformas porém proximo do que almejamos
      https://www.swaper.com.br/
       
       
      Fico a disposição,
       
      Desculpem se postei no local incorreto
       
    • By jrxxjr
      Sou iniciante em Android, e fiz uma pequena aplicação Android de teste, usando Java, para aprender a utilizar um ListView com botões, e tive um problema. Os botões não funcionam direito, as vezes eu clico em cima do Edit, ele muda a mensagem para clicado, "Edit", confirmando que eu cliquei ai. Mas tem vezes que eu clico no botão Delete, e depois no botão Edit, e o texto não é mudado, ou seja o evento click não funcionou, se eu coloco um break point, no código-fonte, onde está entrando no evento setOnItemClickListener. Mas a mensagem exibida, não está correta.
      E tem um outro erro, de funcionamento do AlertDialog, da mensagem de confirmação de deleção.
      O código-fonte está abaixo.
      Por favor, alguém poderia me ajudar ?
       
      AgendaActivity.java
      package com.test.android.view; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.test.android.model.Agenda; import com.test.android.util.Util; public class AgendaActivity extends AppCompatActivity { ListView listview; MyArrayAdapter agendaArrayAdapter; ArrayList<AgendaTo> agendaArray = new ArrayList<AgendaTo>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_agenda); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Nick", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("John", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Anthony", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("James", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Jack", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Jeremy", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()),Util.fillSpaces("Long", 50))); agendaArrayAdapter = new MyArrayAdapter(AgendaActivity.this, R.layout.list_item, agendaArray); listview = (ListView) findViewById(R.id.listView); listview.setItemsCanFocus(false); listview.setAdapter(agendaArrayAdapter); listview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v, final int position, long id) { Toast.makeText(AgendaActivity.this, "List Item Clicked:" + position, Toast.LENGTH_LONG) .show(); } }); } } MyArrayAdapter.java
      package com.test.android.view; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import java.text.SimpleDateFormat; import java.util.ArrayList; public class MyArrayAdapter extends ArrayAdapter<AgendaTo> { Context context; int layoutResourceId; ArrayList<AgendaTo> agendas = new ArrayList<AgendaTo>(); public MyArrayAdapter(Context context, int layoutResourceId, ArrayList<AgendaTo> agendas) { super(context, layoutResourceId, agendas); this.layoutResourceId = layoutResourceId; this.context = context; this.agendas = agendas; } @Override public View getView(int position, View convertView, ViewGroup parent) { View item = convertView; AgendaWrapper agendaWrapper = null; if (item == null) { LayoutInflater inflater = ((Activity) context).getLayoutInflater(); item = inflater.inflate(layoutResourceId, parent, false); agendaWrapper = new AgendaWrapper(); agendaWrapper.nome = (TextView) item.findViewById(R.id.textNome); agendaWrapper.data = (TextView) item.findViewById(R.id.textData); agendaWrapper.edit = (Button) item.findViewById(R.id.btnEdit); agendaWrapper.delete = (Button) item.findViewById(R.id.btnDelete); item.setTag(agendaWrapper); } else { agendaWrapper = (AgendaWrapper) item.getTag(); } AgendaTo agenda = agendas.get(position); agendaWrapper.nome.setText(agenda.getNome()); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); agendaWrapper.data.setText(sdf.format(agenda.getData())); agendaWrapper.edit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(context, "Edit", Toast.LENGTH_LONG).show(); } }); final int absolutePsition = position; final AgendaWrapper itemDelete = agendaWrapper; final ViewGroup viewGroup = parent; agendaWrapper.delete.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(context, "Delete " + absolutePsition, Toast.LENGTH_LONG).show(); AlertDialog diaBox = AskOption(itemDelete, absolutePsition, viewGroup); diaBox.show(); } }); return item; } private AlertDialog AskOption(AgendaWrapper agendaWrapper, int position, final ViewGroup viewGroup) { final int deletePosition = position; AlertDialog myQuittingDialogBox = new AlertDialog.Builder(context) .setTitle("Delete") .setMessage("Do you want to Delete") .setPositiveButton("Delete", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { agendas.remove(deletePosition); refreshListView(agendas, viewGroup); dialog.dismiss(); } private void refreshListView(final ArrayList<AgendaTo> agendas, final ViewGroup viewGroup) { final MyArrayAdapter myArrayAdapter = new MyArrayAdapter(context, R.layout.list_item, agendas); final LayoutInflater inflater = ((Activity) context).getLayoutInflater(); final View view = inflater.inflate(layoutResourceId, viewGroup, false); final ListView listview = (ListView) view.findViewById(R.id.listView); listview.setAdapter(myArrayAdapter); } }) .setNegativeButton("cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }) .create(); return myQuittingDialogBox; } static class AgendaWrapper { TextView nome; TextView data; Button edit; Button delete; } } list_item.xml
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="4dp" tools:context=".AgendaActivity" > <TextView android:id="@+id/textNome" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="Nome:" android:width="50dp" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/textData" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textData" android:layout_alignTop="@id/textNome" android:layout_alignRight="@id/textNome" android:layout_alignParentLeft="true" android:layout_marginTop="5dp" android:width="50dp" android:text="Data:" android:textAppearance="?android:attr/dateTextAppearance" android:textSize="16sp" /> <Button android:id="@+id/btnEdit" android:layout_width="80dp" android:layout_height="40dp" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:background="#99CC" android:focusable="false" android:focusableInTouchMode="false" android:text="Edit" android:textColor="#FFFFFF" /> <Button android:id="@+id/btnDelete" android:layout_width="80dp" android:layout_height="40dp" android:layout_alignParentRight="true" android:layout_below="@+id/btnEdit" android:layout_marginTop="3dp" android:background="#99CC" android:focusable="false" android:focusableInTouchMode="false" android:text="Delete" android:textColor="#FFFFFF" /> </RelativeLayout> activity_agenda.xml
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#990044" tools:context="com.test.android.view.AgendaActivity" > <TextView android:id="@+id/listLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="Touch List" android:textColor="#FFFFFF" android:textSize="25sp" /> <ListView android:id="@+id/listView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/listLabel" android:layout_marginTop="5dp" android:cacheColorHint="#FFFFFF" /> </RelativeLayout>  
    • By Alisson Hoepers
      Olá! Estou recebendo esse erro no meu log do Wildfly, procurando pela internet não encontrei nada em relação a isso, vejam abaixo o erro:
       
      2020-07-08 00:09:34,699 ERROR [io.undertow.request] (default I/O-4) UT005071: Undertow request failed HttpServerExchange{ CONNECT ext.baidu.com:443}: java.lang.IllegalArgumentException: UT000068: Servlet path match failed     at io.undertow.servlet.handlers.ServletPathMatchesData.getServletHandlerByPath(ServletPathMatchesData.java:83)     at io.undertow.servlet.handlers.ServletPathMatches.getServletHandlerByPath(ServletPathMatches.java:88)     at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:146)     at io.undertow.server.handlers.HttpContinueReadHandler.handleRequest(HttpContinueReadHandler.java:65)     at io.undertow.server.handlers.PathHandler.handleRequest(PathHandler.java:91)     at org.wildfly.extension.undertow.Host$OptionsHandler.handleRequest(Host.java:399)     at io.undertow.server.handlers.HttpContinueReadHandler.handleRequest(HttpContinueReadHandler.java:65)     at org.wildfly.extension.undertow.Host$AcmeResourceHandler.handleRequest(Host.java:421)     at org.wildfly.extension.undertow.Host$HostRootHandler.handleRequest(Host.java:430)     at io.undertow.server.handlers.NameVirtualHostHandler.handleRequest(NameVirtualHostHandler.java:54)     at io.undertow.server.handlers.error.SimpleErrorPageHandler.handleRequest(SimpleErrorPageHandler.java:78)     at io.undertow.server.handlers.CanonicalPathHandler.handleRequest(CanonicalPathHandler.java:49)     at org.wildfly.extension.undertow.Server$DefaultHostHandler.handleRequest(Server.java:190)     at io.undertow.server.handlers.ChannelUpgradeHandler.handleRequest(ChannelUpgradeHandler.java:211)     at io.undertow.server.protocol.http2.Http2UpgradeHandler.handleRequest(Http2UpgradeHandler.java:102)     at io.undertow.server.handlers.DisallowedMethodsHandler.handleRequest(DisallowedMethodsHandler.java:61)     at io.undertow.server.Connectors.executeRootHandler(Connectors.java:376)     at io.undertow.server.protocol.http.HttpReadListener.handleEventWithNoRunningRequest(HttpReadListener.java:255)     at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:136)     at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:162)     at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:100)     at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:57)     at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)     at org.xnio.ChannelListeners$10.handleEvent(ChannelListeners.java:291)     at org.xnio.ChannelListeners$10.handleEvent(ChannelListeners.java:286)     at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)     at org.xnio.nio.QueuedNioTcpServer$1.run(QueuedNioTcpServer.java:132)     at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:612)     at org.xnio.nio.WorkerThread.run(WorkerThread.java:479) Alguém já passou por isso ou saberia indicar o que poderia ser?
    • By Pavolin9
      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.
       
    • By Alisson Hoepers
      Olá pessoal! Para mostrar a lista de um cadastro no meu sistema, eu populo a consulta em um DTO conforme abaixo. Minha pergunta é: Existe uma forma mais simples de popular a consulta na lista do DTO de forma mais simples?
       
      public List<ObjetoDTO> find(Query query) {     @SuppressWarnings("unchecked") List<Object[]> queryResult = query.getResultList(); List<ObjetoDTO> list = new ArrayList<>(); if (queryResult.isEmpty() == false) { for (Object[] item : queryResult) { ObjetoDTO dto = new ObjetoDTO(); dto.setId((Integer) item[0]); dto.setTitulo((String) (item[1])); dto.setDescricao((String) (item[2])); list.add(dto); } } return list; }  
×

Important Information

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