Pessoal, é meu primeiro post no forum. Sou novo no java, mas já estudei muito C. Estou fazendo um curso no youtube e a professora manda fazer uma agenda com uma matriz. Eu sei a lógica disso com tranquilidade, mas fui executar pra aparar as arestas do código e ele não passa da leitura doprimeiro scan imputado na matriz. Já percebi que se por scan.next() ele le, mas nesxtLine não, mas o next é só se eu por tudo colado, tipo camel case, senão dá pau. Segue o código:
import java.util.Scanner;
public class PrincipalLoiane {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String[][] agenda = new String[30][24];
int dia=0;
int hora=0;
int confComp;
int mostra;
while(true){
System.out.println("Agenda Coorporativa ");
System.out.println("Para inserir compromisso tecle \"1\" e para ler tecle \"2\"");
confComp = scan.nextInt();
if(confComp==1){
System.out.println("Diga o dia do compromisso:");
dia=scan.nextInt();
System.out.println("Dia a hora do compromisso: ");
hora = scan.nextInt();
System.out.println("Diga o compromisso: ");
agenda[dia][hora] = scan.nextLine(); //<======= Problema aqui!`Texto pré-formatado`
} else if (confComp ==2){
System.out.println("Para todos aperte \"1\"T ou qualquer oura coisa para definir o dia");
mostra=scan.nextInt();
if(mostra==1){
for(dia=0;dia<agenda.length;dia++){
for(hora=0;hora<agenda[0].length;hora++){
if(hora == 0 )
System.out.println("Dia "+(dia+1));
System.out.println("Hora: "+ hora);
System.out.println("Compromisso: "+agenda[dia][hora]);
}
}
}else{
System.out.println("Diga o dia: ");
dia=scan.nextInt();
for(hora=0;hora<agenda[0].length;hora++){
System.out.println("Hora "+ hora+" compromisso "+ agenda[dia][hora]);
}
}
}else
System.out.println("Dados inconsistentes");
}
}
}
O compilador joga o seguinte: