Boa tarde.
Este exercício pede para criar uma agenda com apenas um mês e cada dia com suas 24 horas, dando um menu para o usuário escolher entre editar um dia e um horário ou consultar um dia e um horário com seu compromisso.
O problema, quando uso scan.next(), só pega uma palavra e quando uso scan.nextLine() não pega nada e volta a repetir do começo.
Segue:
package com.leandro.aula20.labs;
import java.util.Scanner;
public class Exer04 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String[][] agendaMes = new String[31][24]; // de 0 a 30 e de 0 a 23
boolean validaRepeticao = true;
int menu = 0;
int dia = 0;
int hora = 0;
do {
System.out.println("Você quer editar a agenda ou consultar? (1-editar, 2-consultar e 3-sair.)");
menu = scan.nextInt();
if (menu != 1 & menu != 2 & menu != 3) {
do {
System.out.println("Opção inválida. Tente novamente.\n"
+ "Você quer editar a agenda ou consultar? (1-editar, 2-consultar e 3-sair.)");
menu = scan.nextInt();
} while (menu != 1 & menu != 2 & menu != 3);
}
if (menu == 1) {
System.out.println("Digite o dia e a hora separados por espaço ou enter.");
dia = scan.nextInt();
hora = scan.nextInt();
System.out.println("Digite o compromisso para o dia " + dia + " e para a hora " + hora);
agendaMes[dia - 1][hora - 1] = scan.nextLine();
System.out.println("Edição da Agenda: \nO compromisso do dia " + dia + " e da hora " + hora + ":"
+ " " + agendaMes[dia - 1][hora - 1]);
}
if (menu == 2) {
System.out.println("Digite o dia e a hora separados por espaço ou enter.");
dia = scan.nextInt();
hora = scan.nextInt();
System.out.println("Contulta da Agenda: \nO compromisso do dia " + dia + " e da hora " + hora + ":"
+ " " + agendaMes[dia - 1][hora - 1]);
}
if (menu == 3) {
System.out.println("Programa finalizado. Até breve.");
validaRepeticao = false;
}
} while (validaRepeticao);
}
}