Jump to content

[Dúvida] Input de dados


ntuxas

Recommended Posts

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

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

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

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 by ntuxas
Link to comment
Share on other sites

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 by _Rest_
Link to comment
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
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.