Subtrair elementos de vetor

como obter a maior diferença entre dois elementos consecutivos de um vetor.Eu tentei usar esse codigo mas a diferença sempre dá 1,me ajudem

[/code]import java.util.Scanner;
public class Main{
public static void main(String args[]){
int tamanho=4;

  int maior=0,dif=0;

int vet[]=new int[tamanho];
Scanner x=new Scanner(System.in);

for(int i=0;i<tamanho;i++){
System.out.println(“Digite elementos do vetor”);
vet[i]=x.nextInt();

for(int i=0;i<tamanho;i++){
dif+=vet[i+1]-vet[i];

    System.out.println(dif+"");

}

}
}

Fala Ninja, tudo certo? :slight_smile:
Então, parece que se atrapalhou na hora de postar o código não é?
Mas vamos ao seu código.

Use um foreach para percorrer o vetor e efetuar as comparações:

for(Integer valor : vet) { //sua lógica }

Meio apressado na resposta mas é um caminho :slight_smile:
Ah! Podes usar também outro vetor para armazenar todos as diferenças encontradas e depois percorrer o vetor de diferenças efetuando a comparação entre os resultados e assim achando a maior diferença :slight_smile:

Espero ter ajudado, abraços!

Então… acho que faltou a comparação entre a diferença atual e a maior de todas, segue o exemplo:

maior = 0;
//tem que ser vet.length-1 pois vai dar erro quando estiver na ultima posição e tentar verificar uma posição a frente
for(int i=0;i<=vet.length-1;i++)
{ 
    dif=vet[i+1]-vet[i];
 
    if(dif<maior)
          maior = dif;
}
System.out.printf(maior);

Não compilei mas acho que isso resolve.

Espero ter ajudado.

Abs

:smiley: vlw aí pela ajuda agora funcionou