Ajuda com exercício Java

17 respostas
J

Alguém pode me ajudar a fazer esse exercicio? Não sou bom em Java.

Segue:

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.

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.


Isso foi o que consegui fazer até agora, o que seria a “primeira parte”:

public class Main {

public class static void main(String[] args) {

Scanner s = new Scanner( System.in);

int tamanho = Integer.parseInt( s.nextLine() );

int[] array = new int[tamanho];

}

}

17 Respostas

RoinujNosde

Agora você faz um for de 0 até o tamanho do array.
Dentro dele vc vai pedindo que o usuário digite os números e vá guardando no array.

J

Fiz dessa forma, será que está correto?

private static Boolean verificaOrdenacao(int[] tamanho) {
	int i = 0;
	
	if (tamanho[i] <= tamanho[i + 1]) {
		i++;
		return true;
	}
	
	return false;
Lucas_Camara

Mas não tem nenhum FOR nesse método verificaOrdenacao. Tenta seguir a sugestao do @RoinujNosde.

J

Fala galera! fiz um for como vocês falaram, alguém pode me dar um help e dizer onde estou errando? segue:

public class Main {
	
	public class static void main(String[] args) {
		Scanner s = new Scanner( System.in);
		
		int tamanho = Integer.parseInt(s.nextLine());
		int[] array = new int[tamanho];
	}
	
	Public class static void main(String[] args) {
		int verifica (int array[], int tamanho) {
			if (tamanho > 1)
				for (i = 1; i < tamanho; i++) {
					if (array[i - 1] > array[i])
						return 0;
					
					return 1;
				}
		}
	}
Joao_Filipe1

Bom dia pessoal sou novato em Java tou a fazer um tarefa e preciso de ajuda!
o professor me passou isso.
Construa um programa que calcule a multiplicação de dois números apenas utilizando a operação soma

Joao_Filipe1

import java.util.Scanner;

public class Exercicio2 {

public static void main(String[] args) {
	
Scanner entrada = new Scanner(System.in);        
        
int num1;
int num2;
        
System.out.print("Digite o primeiro número: ");
num1 = entrada.nextInt();

System.out.print("Digite o segundo número: ");
num2 = entrada.nextInt();

System.out.println(num1 + " * " + num2 + " = " + (num1 * num2) );
}

}

Joao_Filipe1

sera que e correto?

RoinujNosde

@Joao_Filipe1 não está correto, vc deve utilizar apenas soma (+), não multiplicação (*).
E crie outro tópico, o seu problema não tem relação com este.

J

No meu caso acredito que precisaria colocar como Boolean na parte do for?
help…

RoinujNosde

@JacksonT você tá colocando o carro na frente dos bois.
Já fez a parte de pedir os números ao usuário e guardar num array?
Depois vc faz a verificação da ordem.

J

Fala mano, decidi refazer do 0, utilizei o for e o while, coloquei a parte de pedir numeros ao usuario e guardar num array.
Não tenho certeza se está correto ainda pois acredito que fiz de uma maneira bem “bagunçada”.

Segue:

Class Main {
    public static void main(String[] args) {
    Scanner leitor = new Scanner(System.in);
    System.out.println("Digite a quantidade de elementos que serão lidos:");
    int tp = leitor.nextInt();
    int vet[] = new int[tp];
    criaVet(tp, vet);
    diferença = valorMaior(vet);
    System.out.println("A diferença é " + diferença);

    }

    public static void criaVet(int tamanho,int [] vet) {
    for(int i = 0; i < tamanho; i++) {
    Scanner leia = new Scanner(System.in);
    System.out.println("Digite um valor: ");
    vet[i] = leia.nextInt();

    }
    }

    public static void main(String[] args) {
    while(i < tp) {
    if(vet.get(i) == vet.get(tp - 1)) {

    return true;

    } else {
    if (vet.get(i) > vet.get(i + 1)) {
    return false;

    }
    }
    i++;
    }
    return true;

    }
RoinujNosde

Essa variável tamanho não é necessária. A partir do vetor vc pode pegar o tamanho dele: vet.length

Já esse método não faz sentido.

Declara um método public static int diferenca(int[] vetor) {} para fazer o cálculo da diferença.

J

Já consegui fazer quase todo exercício, falta apenas a parte B, que estou com dificuldade ainda.

O que eu teria que fazer para ver se o vetor está em ordem crescente e retornar true se sim e false se não? um for?

Segue as partes que já fiz e testei:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
    Scanner leitor = new Scanner(System.in);
    System.out.println("Digite a quantidade de elementos que serão lidos:");
    
int num = leitor.nextInt();
int v[] = new int[num];
diferenca = vmaior(v);

for(int i=0; i < v.length; i++){
  System.out.print("v["+i+"] ");
  v[i] = leitor.nextInt();

}

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

int vmaior = v[0];
int vmenor = v[0];

for(int i = 0; i < v.length; i++) {
  if(v[i] > vmaior) {
    vmaior= v[i];
  }
  if(v[i] < vmenor){
    vmenor=v[i];
  }
}
System.out.println("O maior valor do vetor é: " +vmaior);
    {
G

Utilize um for, percorra todo o vetor e cada vez que percorrer você deve salvar uma variável (fora do laço de repetição) com o nome de ultimoValor. Dentro do for() você irá por um if que irá verificar se valorAtual > UltimoValor, caso passe pelo IF é porque está crescente, caso durante as repetições não passe pelo if já pode retornar false.

W

Boa tarde galera to precisando de ajuda em uma questão de java sou novo em programação

Criar um algoritmo que solicite ao usuário algumas opções e efetue as operações conforme detalhado abaixo:

"Favor informar uma operação que deseja executar: "

i - Preencher o vetor
p - Pesquisar um valor no vetor
a - Alterar um determinado valor no vetor

OBS1.: Caso seja escolhida a opção “p” , solicitar o valor que deseja procurar. Informar ao usuário se localizou ou não;
OBS2.: Caso seja escolhida a opção “a” , solicitar a posição a ser alterada;

OBS3: A opção “i”, é para caso se deseje alterar todo o vetor, porém ele já deve ser criado com valores.
OBS4: O vetor precisa ser de duas dimensões.

Lucas_Camara

@WolfWhiter

No seu caso, é melhor cirar um tópico a parte para tirar sua dúvida. Não esqueça de dizer qual é a dúvida. Vc colocou apenas o que precisa ser feito.

W

Ahhh oky, obrigado!!

Criado 18 de maio de 2021
Ultima resposta 27 de mai. de 2021
Respostas 17
Participantes 6