Nunca usei Java E PRECISO resolver esse problema

4 respostas
só-o-enunciado
Leonardo_Pet

Escreva um programa em Java que leia uma sequência N de números inteiros
(negativos, positivos e o zero) para um vetor. No início do programa é solicitado ao
usuário (pelo teclado) qual é a quantidade de elementos que serão lidos para o vetor
e depois disso os números são lidos para o vetor.
Em seguida você deve implementar para cada um dos itens abaixo uma função:
a) Calcule e retorna o valor da maior diferença entre dois elementos distintos no
vetor.
b) Verifica se o vetor está em ordem crescente, e retorna true caso esteja e false
caso contrário.

4 Respostas

Fefo80

Isso é fácil de fazer.

Mas me diz aí… como você nunca usou Java e agora precisa resolver esse problema?

Leonardo_Pet

faculdade ue, primeiro semestre foi inteiro em python… agora segundo semestre querem em java

Lucas_Camara

Ai eh brabo, pq são linguagens bem diferentes.

Com java, vc pode fazer a leitura da entrada de dados pelo teclado usando a classe Scanner:

try (Scanner teclado = new Scanner(System.in)) {
    String valor = teclado.nextLine();
}

Para declarar um vetor, vc faz assim:

int[] numeros = new int[10]; // vetor com 10 posições

Vc vai precisar percorrer o vetor, com isso, vc pode usar um FOR:

for (int i = 0; i < numeros.length; i++) {
    System.out.println(numeros[i]);
}

Boa sorte.

Leonardo_Pet

import java.util.Scanner;

public class MeuPrograma {

private static Scanner scanner;

public static void main(String[] args) {

scanner = new Scanner(System.in);

   int N = scanner.nextInt();

   if (N > 0) {

       int[] vetor = new int[N];

       for (int i = 0; i < N; i++) {

           vetor[i] = scanner.nextInt();

       }

       System.out.println();

       System.out.println(maiorDiferenca(vetor));

       System.out.println(ordemCrescente(vetor));

   }

}

public static int maiorDiferenca(int vetor[]) {

int maior, segundoMaior;

   maior = vetor[0];

   segundoMaior = maior;

   for (int i = 1; i < vetor.length; i++) {

       if (vetor[i] > maior) {

           segundoMaior = maior;

           maior = vetor[i];

       } else if (vetor[i] > segundoMaior && vetor[i] != maior) {

           segundoMaior = vetor[i];

       }

   }

   if (maior == segundoMaior) {

       return 0;

   }

   return maior - segundoMaior;

}

public static boolean ordemCrescente(int vetor[]) {

for (int i = 1; i < vetor.length; i++) {

       if (vetor[i] < vetor[i - 1]) {

           return false;

       }

   }

   return true;

}

}

assim?

Criado 28 de agosto de 2021
Ultima resposta 1 de set. de 2021
Respostas 4
Participantes 3