Bom, já olhei alguns tópicos sobre esse assunto mas são muito antigos e não me ajudaram.
Quando vou agendar um compromisso e digito algo que contenha espaço, tipo, ‘Estudar para a prova’, parece que só é armazenada a primeira palavra, tentei usar o nextLine(), mas aí ele já salta para a próxima linha, sem deixa eu digitar o compromisso.
import java.util.Scanner;
public class Exercicio4 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String agendaComprom[][][] = new String[12][30][24];
int d,m,h;
String resp, resp2;
do {
System.out.println("MENU - AGENDA DE COMPROMISSOS \n--------------------------------");
System.out.print("\nInforme o DIA, MÊS e HORA em que você \ndeseja agendar/alterar um compromisso: ");
d = scan.nextInt();
m = scan.nextInt();
h = scan.nextInt();
for(int i=1; i<=12; i++) {
for(int j=1; j<=30; j++) {
for(int k=1; k<=24; k++) {
if(m == i && d == j && h == k)
{
System.out.print("Digite o nome do compromisso: ");
agendaComprom[i][j][k] = scan.nextLine();
}
}
}
}
System.out.println("MENU - FINAL\n--------------------------------");
System.out.print("\nVocê quer verificar à agenda? [S/N]");
resp2 = scan.next();
if(resp2.equals("S") || resp2.equals("s"))
{
System.out.print("Entre com o DIA, MÊS e HORA no qual você quer VERIFICAR o compromisso: ");
d = scan.nextInt();
m = scan.nextInt();
h = scan.nextInt();
for(int i=1; i<=12; i++) {
for(int j=1; j<=30; j++) {
for(int k=1; k<=24; k++) {
if(m == i && d == j && h == k)
{
System.out.print("Compromisso do dia " + d + ", mês " + m + " e hora " + h + "h : "
+ agendaComprom[i][j][k]);
}
}
}
}
}
System.out.print("\nVocê deseja adicionar/alterar mais algum compromisso? [S/N]");
resp = scan.nextLine();
}while(resp.equals("S") || resp.equals("s"));
System.out.println("\nAGENDA FINALIZADA!");
}
}