importjava.util.Scanner;publicclasslapr1Interativo{publicstaticvoidmain(String[]args){Scannerler=newScanner(System.in);intn=200;// tamanho do vetorintv[]=newint[n];// declaração do vetor "v"inti=0;// índice ou posiçãobooleanfim=false;// Entrada de Dadoswhile(i<v.length){System.out.printf(“Informe%2do.valorde%d:“,(i++),n);v[i]=ler.nextInt();if(fim){System.out.printf(””);}}}
É isso certo?
4
48tc48
Nao esta a funcionar , quando digito a palavra fim da erro no programa.
intn=200;// tamanho do vetorintv[]=newint[n];// declaração do vetor "v"inti=0;// índice ou posiçãoStringvalores=ler.next();// Entrada de Dadoswhile(!valores.equals("fim")&&i<v.length){System.out.printf("Digite fim para sair ou Informe X%2do. valor de %d: ",(i++),n);v[i]=Integer.parseInt(valores);valores=ler.next();}}
}
mesmo assim continua a iniciar mal
pmlm
Para ler do teclado deve usar-se somente o método nextLine(). Com next()ou nextInt() podes ter comportamentos inesperados.
pmlm
E, quando criares um tópico, aguarda que alguém te responda. Não espalhes a mesma questão em 20 outros tópicos não relacionados…
hugokotsubo
Se a ideia é ler algo que pode ser um número ou o texto “fim”, então você deve ler apenas uma única vez, verificar se foi digitado “fim”, e se não for o caso, aí você tenta converter em número.
Seria algo assim:
Scannerler=newScanner(System.in);intv[]=newint[200];for(inti=0;i<v.length;i++){System.out.printf("Digite fim para sair ou informe o %do. valor de %d: ",i,v.length);Stringvalor=ler.nextLine();// lê o que foi digitadoif("fim".equals(valor)){// se for "fim"break;// sai do for}// senão, tenta converter para númerov[i]=Integer.parseInt(valor);}
Usei break, que interrompe o loop, assim não precisa ficar testando no while, e também não precisa ler o dado antes do loop (faça isso somente uma vez, dentro do for, não precisa se repetir).
Não sei se era isso mesmo que você queria…
4
48tc48
import java.util.Scanner;
public class lapr1Interativo {
static final int VETOR_MAXIMO = 200; // tamanho do vetor
publicstaticvoidmain(String[]args){Scannerler=newScanner(System.in);int[]vetor=newint[VETOR_MAXIMO];// declaração do vetor "v"staticintcountVetor=0;// índice ou posiçãoSystem.out.printf("Digite fim para sair ou Informe X%d0: ",countVetor);Stringvalores=input.next();// Entrada de Dadoswhile(!valores.equals("fim")&&countVetor<vetor.length){vetor[countVetor]=Integer.parseInt(valores);countVetor++;System.out.printf("%nDigite fim para sair ou Informe X%d0: ",countVetor);valores=input.next();}}
}
eu tenho isto so que agora tenho que criar um array c dimensao contvetor e tenho que pedir a primeira linha ao utilizador e a diagonal nao principal do array
4
48tc48
import java.util.Scanner;
public class lapr1Interativo {
static final int VETOR_MAXIMO = 200; // tamanho do vetor
publicstaticvoidmain(String[]args){Scannerler=newScanner(System.in);int[]vetor=newint[VETOR_MAXIMO];// declaração do vetor "v"staticintcountVetor=0;// índice ou posiçãoSystem.out.printf("Digite fim para sair ou Informe X%d0: ",countVetor);Stringvalores=input.next();// Entrada de Dadoswhile(!valores.equals("fim")&&countVetor<vetor.length){vetor[countVetor]=Integer.parseInt(valores);countVetor++;System.out.printf("%nDigite fim para sair ou Informe X%d0: ",countVetor);valores=input.next();}}
}
eu tenho isto so que agora tenho que criar um array c dimensao contvetor e tenho que pedir a primeira linha ao utilizador e a diagonal nao principal do array
publicclassExColect{publicstaticvoidmain(String[]args){Scannerleitor=newScanner(System.in);List<String>v=newArrayList<>();booleanfim=false;for(inti=0;i<200;i++){System.out.println("Digite um valor:");v.add(leitor.nextLine());}System.out.println(v);}}
D
D3M0N5
Você poderia adicionar quantas posições for necessário sem se preocupar com o tamanho do vetor.
4
48tc48
Nao é isto que eu pretendo fazer
D
D3M0N5
Entao, nao tinha lido a sua resposta de cima, ja conseguiu fazer?? é uma ideia de matriz? se for é melhor declarar vetor como matriz, ex: vetor[5][5] matriz quadrada de 25 posições. me tire essas duvidas e informe o objetivo completo que consigo montar algum modelo baseado nisso.