ola a todos! eu quero um programa para ler N valores inteiros e escrever por ordem inversa à que foram lidos apenas os valores superiores ao último valor lido. algo do tipo :
Número de valores ? 6
Valor 1 ? 2
Valor 2 ? 0
Valor 3 ? 7
Valor 4 ? 9
Valor 5 ? 4
Valor 6 ? 1
4,9,7,2
eu ja tenho isto feito:
[code]mport java.util.*;
public class ficha2_3{
public static void main (String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Número de valores ? ");
int n = in.nextInt();
int[] vals = new int[n];
while ( n >= 0){
if ( n > vals.length){
System.out.print(" Ordem :" +n);
}
n–;
}
}
}
[/code]
Mas você não leu nenhum número, a não ser o tamanho do array.
Seu if dentro do while está errado.
Você deve iniciar por tamanho - 1 e não pelo tamanho, se não você vai tentar acessar uma posição que não existe no array.