Crie uma classe chamada VetorDeReais, que internamente possui um vetor de n reais (double). O valor de n é passado como parâmetro na criação do objeto. Implemente métodos para:
d)Inverter a posição dos elementos do vetor, ou seja, o primeiro elemento vai para a posição do último elemento e o último elemento vai para a posição do primeiro elemento, o segundo elemento vai para a posição do penúltimo elemento e o penúltimo elemento vai para a posição do segundo elemento, e assim por diante;
Daew Anynha boas vindas ao guj !
Eh legal qnd seu post for solucionado edita-lo e colocar SOLUCIONADO oU RESOLVIDO para q pessoas com a mesma duvida que a sua visualizem com mais facilidade e para as pessoas q respondem os topicos nao percam tempo vizualizando a duvida solucionada. valew
[code]public class InverteVetor {
public static void main ( String args[] ){
Scanner sc = new Scanner (System.in);
int vet[];
System.out.println("Digite o tamanho do vetor: ");
int tam = sc.nextInt();
vet = new int [tam];
le (vet);
imprime (vet);
int i=0;
int f=vet.length;
inverte (vet, i, f );
imprime (vet);
}
public static void le (int[] vet){
Scanner sc = new Scanner (System.in);
for (int i=0; i<vet.length; i++){
System.out.println("Digite o " + (i+1) + " valor ");
vet[i]=sc.nextInt();
}
}
public static void imprime (int [] vet){
for (int i=0; i<vet.length; i++){
System.out.print(vet[i]+ " ");
}
System.out.println();
}
public static int[] inverte( int[] v, int i, int f ){
int aux;
if ( i >= f ){
return v;
}
else{
aux = v[i];
v[i] = v[f];
v[f] = aux;
return inverte(v, i+1, f-1);
}
}
Grave isso: [color=red]“O método LENGTH retorna o TAMANHO do vetor e não seu último índice.”[/color]
pegadinha de prova de certificação! fica esperto!
bastou fazer esta modificacao modificação:
int f=vet.length -1;
Abração.
[code]public class InverteVetor {
public static void main ( String args[] ){
Scanner sc = new Scanner (System.in);
int vet[];
System.out.println("Digite o tamanho do vetor: ");
int tam = sc.nextInt();
vet = new int [tam];
le (vet);
imprime (vet);
int i=0; int f=vet.length -1;
inverte (vet, i, f );
imprime (vet);
}
public static void le (int[] vet){
Scanner sc = new Scanner (System.in);
for (int i=0; i<vet.length; i++){
System.out.println("Digite o " + (i+1) + " valor ");
vet[i]=sc.nextInt();
}
}
public static void imprime (int [] vet){
for (int i=0; i<vet.length; i++){
System.out.print(vet[i]+ " ");
}
System.out.println();
}
public static int[] inverte( int[] v, int i, int f ){
int aux;
if ( i >= f ){
return v;
}
else{
aux = v[i];
v[i] = v[f];
v[f] = aux;
return inverte(v, i+1, f-1);
}
}