Autor Tópico: Aula 2  (Lida 2038 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Aula 2
« Online: Março 04, 2019, 03:37:23 am »
Exercício 1

Faça um programa que leia 4 números do usuário e os imprima em ordem crescente. Utilize qualquer método de escrita e leitura que desejar.

Solução usando uma função própria de Insertion Sort:
Baseada em exemplo dado aqui.

Código: Java
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
import java.util.Scanner;public class principal {         public static void main(String[] args) {                     Scanner s=new Scanner(System.in);                 System.out.println("Número de elementos a ordenar?");                 int n=s.nextInt();                 int matriz[]=new int[n];                 System.out.println("Entre os elementos com [ENTER] após cada um: ");                 for(int i=0;i<n;i++){                    matriz[i]=s.nextInt();                 }                s.close(); //não preciso mais do scanner;                insertionSort(matriz);                System.out.print("Matriz ordenada: ");                imprimirMatriz(matriz);        }         private static void imprimirMatriz(int[] n) {             for (int i = 0; i < n.length; i++) {               System.out.print(n[i]);               if (i < n.length-1) System.out.print(", "); //imprimo exceto após o último valor            }            System.out.println("\n");        }         public static void insertionSort(int m[]) {            for (int j = 1; j < m.length; j++) {                int key = m[j];                int i = j-1;                while ( (i > -1) && ( m [i] > key ) ) {                    m [i+1] = m [i];                    i--;                }                m[i+1] = key;                //printNumbers(array); //imprime enquanto está ordenando            }        }}  

Exemplo de execução do programa:


Número de elementos a ordenar?
4
Entre os elementos com [ENTER] após cada um:
45
34
67
89
Matriz ordenada: 34, 45, 67, 89


Mas isso pode ser simplificado ainda mais com o uso das funções já existentes na classe Array:

Código: Java
12345678910111213141516171819202122232425262728
import java.util.Scanner;import java.util.Arrays; public class SortA {         public static void main(String[] args) {                     Scanner s=new Scanner(System.in);                                System.out.println("Número de elementos a ordenar?");                 int n=s.nextInt();                 int matriz[]=new int[n];                 System.out.println("Entre os elementos com [ENTER] após cada um: ");                 for(int i=0;i<n;i++){                    matriz[i]=s.nextInt();                }                                s.close(); //não preciso mais do scanner;                Arrays.sort(matriz);                System.out.print("Matriz ordenada: ");                System.out.println(Arrays.toString(matriz));        }} 

Exemplo de execução do programa:


Número de elementos a ordenar?
4
Entre os elementos com [ENTER] após cada um:
34
56
75
12
Matriz ordenada: [12, 34, 56, 75]
« Última modificação: Março 04, 2019, 05:33:40 am por Jefferson »
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re:Aula 2
« Responder #1 Online: Março 04, 2019, 05:31:08 am »
Exercício 2

Código fornecido pelo colega Leandro

Arquivo 1

Código: Java
123456789101112131415161718192021222324252627
 public class Principal {         public static void main(String[] args) {                Carro uno=new Carro();                uno.cor="Vermelha";                uno.potencia=1.0f;                uno.transmission=false;                                System.out.println("A cor do Carro Uno é: " + uno.cor);                System.out.println("A potência do Carro Uno é: " + uno.potencia);                System.out.print("A transmissão do Carro Uno é: ");                     if (uno.transmission) {                        System.out.println("Automática\n\n");                } else {                        System.out.println("Manual\n\n");                               }                System.out.println("A velocidade do Carro Uno é: " + uno.velocidade);                uno.acelerar(10);                System.out.println("A velocidade do Carro Uno após acelerar é: " + uno.velocidade);                uno.acelerar(15);                System.out.println("A velocidade do Carro Uno após acelerar mais uma vez é: " + uno.velocidade);                uno.frear(10);                System.out.println("A velocidade do Carro Uno após frear é: " + uno.velocidade);                        }} 

Arquivo 2

Código: Java
12345678910111213141516
public class Carro {                String cor;        float potencia;        boolean transmission;        int velocidade;                void acelerar (int valor) {                     velocidade+=valor;        }                void frear (int valor) {                        velocidade-=valor;        }} 
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

FORUM.RYAN.COM.BR

Re:Aula 2
« Responder #1 Online: Março 04, 2019, 05:31:08 am »