Pessoal boa noite, depois de muito tempo voltei a estudar Java e gostaria de contar com a ajuda de vc’s novamente. É o seguinte, com fiquei muito tempo parado esqueci coisas basicas, la vai a primeira pergunta:
O programa tem que ler nomes e notas de alunos e exibir os nomes e notas de quem tiver nota menor que 6
A logica eu acho que ta certa mas, não to conseguindo escrever na matriz nem exibi-la.
importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.util.Arrays;publicclassPrincipal{publicstaticvoidmain(String[]args)throwsIOException{Stringnome;StringnotaTeclado;doublenota;String[][]matriz=newString[5][5];BufferedReaderteclado=newBufferedReader(newInputStreamReader(System.in));inti=0;intj=0;while(i<=5){System.out.print("Digte um nome: ");nome=teclado.readLine();System.out.print("Digte a nota: ");notaTeclado=teclado.readLine();nota=Double.parseDouble(notaTeclado);if(nota<6){for(i=0;i<=5;i++){for(j=0;j<=5;j++){matriz[i][j]=/* não sei o que colocar aqui ja tentei de tudo o que eu quero aqui e salvar o nome em [i] e a nota em [j] */System.out.println// aqui quero exibir a matriz, com os nomes e notas armazenados}}}}}}
Então para fazer sentido a sua matriz deveria ser String[5][2] - 5 linhas e 2 colunas
marcos1EM
Como a melhor maneira de explicar é mostrando o código então veja se é isso que queria e se entendeu.
Stringnome;StringnotaTeclado;doublenota;String[][]matriz=newString[5][2];BufferedReaderteclado=newBufferedReader(newInputStreamReader(System.in));inti=0;// int j = 0;while(i<5){//while (i <= 5) {System.out.print("Digte um nome: ");nome=teclado.readLine();System.out.print("Digte a nota: ");notaTeclado=teclado.readLine();nota=Double.parseDouble(notaTeclado);if(nota<6){matriz[i][0]=nome;matriz[i][1]=String.valueOf(nota);}i++;}for(intlinha=0;linha<matriz.length;linha++){for(intcoluna=0;coluna<matriz[linha].length;coluna++){System.out.print(matriz[linha][coluna]+" ");}System.out.println("\n");}
aajjbb
a proposito, nesse BufferedReader, acho que o uso da classe Scanner gerar melhor desempenho…
Stringnome;StringnotaTeclado;doublenota;String[][]matriz=newString[5][2];Scannerteclado=newScanner(System.in);inti=0;intj=0;while(i<5){//while (i <= 5) { System.out.print("Digte um nome: ");nome=teclado.next();System.out.print("Digte a nota: ");notaTeclado=teclado.next();nota=Double.parseDouble(notaTeclado);if(nota<6){matriz[i][0]=nome;matriz[i][1]=String.valueOf(nota);}i++;}for(intlinha=0;linha<matriz.length;linha++){for(intcoluna=0;coluna<matriz[linha].length;coluna++){System.out.print(matriz[linha][coluna]+" ");}System.out.println("\n");}
cleyvison
Pow cara valeu, eu estava usando os dois for pq certa vez implementei um codigo onde isso era necessário, mas vc me ajudou muito na verdade como eu sei o numero de posições e é uma array pequeno não precisava ficar inventando.
So mudei uma coisa, na hora de exibir os valores armazenados, exclui a impressão dos valores nulos…
importjava.io.IOException;importjava.util.Scanner;publicclassPrincipal{publicstaticvoidmain(String[]args)throwsIOException{Stringnome;StringnotaTeclado;doublenota;String[][]matriz=newString[5][2];Scannerteclado=newScanner(System.in);inti=0;while(i<5){//while (i <= 5) { System.out.print("Digte um nome: ");nome=teclado.next();System.out.print("Digte a nota: ");notaTeclado=teclado.next();nota=Double.parseDouble(notaTeclado);if(nota<6){matriz[i][0]=nome;matriz[i][1]=String.valueOf(nota);}i++;}for(intlinha=0;linha<matriz.length;linha++){for(intcoluna=0;coluna<matriz[linha].length;coluna++){if(matriz[linha][coluna]!=null){// exclui a impressão dos valores nulosSystem.out.print(matriz[linha][coluna]+" ");}}System.out.println("\n");}}