ntuxas Posted March 30, 2015 at 11:14 AM Report Share #580471 Posted March 30, 2015 at 11:14 AM Bom dia pessoal Tou aqui a fazer um trabalho em java em que tenho que pedir o nr de alunos e dentro de um ciclo pedir o nome de cada um, perguntar se estava presente(boolean) e em caso de estar perguntar a hora de chegada. No final tenho que imprimir estas informaçoes todas. Exemplo de um output: Nome: João Presente: Sim hora de chegada: 10:00 Miguel Presente: Não Portanto o output tem que aparecer no final de eu introduzir os dados referentes ao nr de alunos. O que não percebo é como é que faço isto sem usar um array e ainda por cima o número de alunos está sempre a variar. Se me pudessem dar umas luzes sobre isto agradecia Link to comment Share on other sites More sharing options...
Guest Posted March 30, 2015 at 11:42 AM Report Share #580478 Posted March 30, 2015 at 11:42 AM Bom dia, O que se faz nestas situações, é partir o problema que apresentas em problemas pequenos, mais fáceis de resolver. Como obtens a tua lista de alunos? Base de Dados? Pensa por fazes aka pseudo-código: INICIO CICLO: ler nome aluno aluno esteve presente? escreve sim e mostra hora de chegada, caso contrário escreve não FIM CICLO Eu sei que está mal amanhado mas tenta ir por fases mais pequenas. Link to comment Share on other sites More sharing options...
ntuxas Posted March 30, 2015 at 11:46 AM Author Report Share #580479 Posted March 30, 2015 at 11:46 AM Sim eu tenho um ciclo e ja fiz isso em pseudo codigo, o que n sei é como ir guardando os nomes dos presentes numa lista e os restantes noutra Link to comment Share on other sites More sharing options...
ntuxas Posted March 30, 2015 at 04:13 PM Author Report Share #580500 Posted March 30, 2015 at 04:13 PM Como é que faço para ir guardando os nomes para os alunos presentes juntamente com a hora de chegada e guardar os que não estiveram presentes? Link to comment Share on other sites More sharing options...
Guest Posted March 30, 2015 at 06:37 PM Report Share #580508 Posted March 30, 2015 at 06:37 PM Podes criar um objecto Estudante, que contem as propriedades de Nome, EstaPresente e HoraChegada, que pode ser uma propriedade null. Depois crias uma lista desse mesmo objecto e no ciclo vais adicionando à lista o estudante que está no momento a ser processado. Esta é uma forma, tens mil e uma formas de o fazer. Link to comment Share on other sites More sharing options...
ntuxas Posted March 30, 2015 at 09:39 PM Author Report Share #580522 Posted March 30, 2015 at 09:39 PM e sem ser dessa maneira? é que ainda não demos objectos Link to comment Share on other sites More sharing options...
f3rr31r4 Posted March 30, 2015 at 11:24 PM Report Share #580532 Posted March 30, 2015 at 11:24 PM como estás a perguntar vais ter perguntas desnecessárias... sinceramente assim não aprendes.. tenta fazer da maneira que pensas, depois sim, coloca aqui, desta forma vais ter muitas respostas. Link to comment Share on other sites More sharing options...
ntuxas Posted March 31, 2015 at 12:49 PM Author Report Share #580588 Posted March 31, 2015 at 12:49 PM (edited) o que estava a pensar seria uma coisa assim for(i=0;i<=nrAluno;i++){ System.out.println("Nome do aluno: "); nomeEmpregado=sc.nextLine(); System.out.println("Está presente? (true/false) "); presente=sc.nextBoolean(); if(presente){ System.out.println("Hora da chegada: "); horaChegada=sc.nextDouble(); listaPresente=listaPresente+nomeAluno; } else { listaAusente=listaAusente+nomeAluno; } System.out.println("presente "+listaPresente); System.out.println("ausente "+listaAusente); } em que a lista presente e a lista ausente são strings Edited March 31, 2015 at 01:01 PM by ntuxas Link to comment Share on other sites More sharing options...
alexandre1985 Posted March 31, 2015 at 03:51 PM Report Share #580623 Posted March 31, 2015 at 03:51 PM está tudo bem assim visto de repente, mas só tens de por o "System.out.println("presente "+listaPresente); System.out.println("ausente "+listaAusente);" fora do ciclo for. É a única maneira de funcionares sem arrays. http://alexandre1985.github.io Link to comment Share on other sites More sharing options...
_Rest_ Posted April 6, 2015 at 06:19 PM Report Share #580864 Posted April 6, 2015 at 06:19 PM (edited) Mas as listas têm que ser variaveis String? Porque é que não crias um arraylist e vais só dando add? Depois é só fazeres print a tudo o que está dentro da lista. Exemplo: import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class tttt { public static void main(String[] args) { List<String> Alunos = new ArrayList<String>(); int numeroAlunos; String nome,hora; boolean flag; Scanner ler = new Scanner(System.in); System.out.print("Numero de alunos: "); numeroAlunos = ler.nextInt(); for (int b=0;b<numeroAlunos;b++) { System.out.print("Nome do aluno: "); nome = ler.next(); Alunos.add(nome); System.out.print("Está presente? (true/false) "); flag=ler.nextBoolean(); if (flag==true) { Alunos.add("Presente"); System.out.print("Hora de chegada: "); hora = ler.next(); Alunos.add(hora); } else { Alunos.add("Falta"); } } for (int z=0;z<Alunos.size();z++) { System.out.println(Alunos.get(z)); } } } Isto não criando objectos, porque o correcto é criares uma classe para Alunos. Edited April 6, 2015 at 06:24 PM by _Rest_ Link to comment Share on other sites More sharing options...
alexandre1985 Posted April 7, 2015 at 02:02 PM Report Share #580887 Posted April 7, 2015 at 02:02 PM Ela não quer usar arrays. Acho que isso também exclui ArrayLists e outras listas http://alexandre1985.github.io Link to comment Share on other sites More sharing options...
Localhost Posted April 8, 2015 at 03:55 PM Report Share #580917 Posted April 8, 2015 at 03:55 PM A maneira como fizeste com strings está porreira. Boa! Cumprimentos. here since 2009 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now