Pessoal, estou quebrando a cabeça para fazer uma matriz ao contrario.
Fiz assim:
publicstaticvoidmain(String[]args){doublea[]=newdouble[20];doubleb[]=newdouble[20];doublenum;inti,j=1;Stringsnum,s="";for(i=1;i<a.length;i++){snum=JOptionPane.showInputDialog("digite o valor");num=Double.parseDouble(snum);a[i]=num;}for(i=a.length;i>1;i--){j=j+1;b[j]=a[i];}JOptionPane.showMessageDialog(null,b[j]);}}
Segue o código conforme o seu enunciado, e o jeito que você estava fazendo tava quase lá
/** *Ler 20 elementos de uma matriz A e construir uma matriz B da mesma dimensão com os mesmos *elementos da matriz A, sendo que deverão estar invertidos. Ou seja, o primeiro elemento de A *passa a ser o último de B, o segundo elemento de A passa a ser o penúltimo de B e assim por diante. *Apresentar as matrizes A e B. * @param args */publicstaticvoidmain(String[]args){doublea[]=newdouble[20];doubleb[]=newdouble[20];doublenumero;Stringleitura="";for(inti=0;i<a.length;i++){leitura=JOptionPane.showInputDialog("Digite o valor ");numero=Double.parseDouble(leitura);a[i]=numero;}for(inti=a.length-1,pos=0;i>=0;i--, pos++) {b[pos]=a[i];JOptionPane.showMessageDialog(null,"Matriz A: "+a[pos]);JOptionPane.showMessageDialog(null,"Matriz B: "+b[pos]);}}
Se isso resolveu seu problema coloque [RESOLVIDO] no assunto do fórum !
Tchau!
Daniel_Girotto
Boa Noite
O problema em seu código está na linha 16, quando i = a.length, ele recebe o valor 20, mas como os índices dos vetores iniciam em 0 o índice máximo que você possui é 19, portanto o código falha logo na primeira instrução do for. Para resolver faça i = a.length-1.
Abraço!
L
lety_cia
Muito obrigada pelas dicas, vou testar aqui.
Vingdel
Daniel Girotto:
Boa Noite
O problema em seu código está na linha 16, quando i = a.length, ele recebe o valor 20, mas como os índices dos vetores iniciam em 0 o índice máximo que você possui é 19, portanto o código falha logo na primeira instrução do for. Para resolver faça i = a.length-1.
Abraço!
Na verdade tem mais coisa errada:
1. A variável i deve ser iniciada em cada for.
2. A variável j deve ser iniciada com 0.
3. enfim... segue corrigido:
publicstaticvoidmain(String[]args){doublea[]=newdouble[20];doubleb[]=newdouble[20];doublenum;intj=0;Stringsnum,sa="",sb="";for(inti=0;i<a.length;i++){snum=JOptionPane.showInputDialog("digite o valor");num=Double.parseDouble(snum);a[i]=num;sa=sa+a[i]+" ";}for(inti=a.length;i>0;i--){b[j]=a[i-1];sb=sb+b[j++]+" ";}JOptionPane.showMessageDialog(null,"Matriz A: "+sa+"\nMatriz B: "+sb);}