Duvida com arrays

5 respostas
F

Desenvolva um programa Desordena.java que desordene um array. Deve pedir
ao utilizador um inteiro n, declarar um array com n inteiros escolhidos
aleatoriamente de 0 a 5. Se esse array estiver ordenado (por ordem crescente)
deve gerar outro até que não esteja. Divida o seu programa adequadamente em
métodos. Nomeadamente, escreva pelo menos os seguintes métodos:
preencheVector, verificaOrdenado. Eis um exemplo de interacção:
$ java Desordena
Quantos inteiros quer?
4
Vector desordenado falhado:
2 3 4 5
Eis o seu vector:
5 2 2 3
Tenho este Exercicio para fazer e estou com duvidas sobre arrays nao sei bem como fazer ,fiz ete codigo mas axo q nao e por ai o
caminho alguem pode me ajudar ?Como faço com a sequencia para ser aleatoria?

ublic class Main {


    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       Scanner sc=new Scanner(System.in);
    System.out.println("Digite um numero");
     int n =sc.nextInt() ; 
     int []v=enTrada(sc,n);
     for(int i=0;i<v.length;i++)
         System.out.print(v[i]+" ");
     System.out.println();
    }
public static int  [] enTrada (Scanner s,int quant){
    
     int [] result=new int [quant];
     System.out.println("Escreva uma seq");
     for (int i=0;i<quant;i++)
         result[i]=s.nextInt();
     return result;
     
}
}

5 Respostas

P
public class Main {

    static Scanner input = new Scanner(System.in);
    static int tamanho=0;
    
    public static void main(String[] args) {
        
        System.out.println("Digite o tamanho do vetor:");
        tamanho = input.nextInt();

        int array[] = new int[tamanho];
        int vetor[] = new int[tamanho];
        entrada(array,vetor);

        while (verificaOrdenacao(array,vetor)){
            System.out.println("Vetor ordenado preencha novamente:");
            entrada(array,vetor);
        }
        
        System.out.println("Array desordenado..!");

    }

    public static int[] entrada (int[]array,int []vetor){

        for (int i = 0; i< array.length; i++){
            System.out.println("Vetor pos. "+i);
            array[i] = input.nextInt();
            vetor[i] = array[i];
        }

        return array;
    }

    public static boolean verificaOrdenacao (int array[], int[] vetor){
        
        Arrays.sort(array);
        for (int i = 0; i < array.length; i++){
            if (array[i] != vetor[i]){
                return false;
            }
        }
        return true;
    }
}
F

Esta funcionando muito bem …o que o Arrays.sort(array) faz?

P

ele ordena o array…

F

ah ok entendi…mais uma duvida se eu quisesse em vez de ler do teclado que o valor fosse gerado aleatoriamente como faria issso ???
É com o Random?
Desculpa as perguntas bobas mas sou novo em java e estou com um pouco de dificuldade alguma dica agradeço…:slight_smile:
Valeu\

P

Isso mesmo, teria que usar random… em vez de usar

Scanner input = new Scanner(System.in);

//seria

Random rand = new Random();

// na hora de ler o valor ficaria

int a;

a = rand.nextInt(100);

// o 100 é para falar que vai gerar algum numero aleatorio  entre 0 e 100

falow… :smiley:

Criado 20 de novembro de 2010
Ultima resposta 22 de nov. de 2010
Respostas 5
Participantes 2