Jump to content
Sign in to follow this  
Mordred123

Array o que fazer?

Recommended Posts

Bom, eu tentei fazer mas não consegui , alguém poderia me ajudar?

 

Criar uma classe em java que armazene 20 números em um vetor A. Gere e imprima o vetor B onde cada elemento é o quadrado do elemento, na respectiva posição, do vetor A.

 

 

consegui fazer ate ai , ainda acho que está errado.....

import java.util.Arrays;
import java.util.Scanner;
public class vetor{
    public static void main (String [] args){
        Scanner entrada= new Scanner(System.in);
        int n = 30;
        Integer v[]=new Integer[n];
 
      
        
        for (int i = 0; i < v.length; i++) {
            System.out.println("digite numeros");
            v[i]=entrada.nextInt();
        }
 }
}

Share this post


Link to post
Share on other sites

Primeiro inicialize n com 20

 

n = 20;

 

Você já está lendo os 20 números, certo?

 

Então falta gerar e imprimir o vetor B.

 

Após a leitura faça o seguinte:

 

 

 
int[] b = new int[n];
for (int i = 0; i < b.length; i++) {
    b[i] = v[i] * v[i] // quadrado do número
    System.out.println(b[i]);
}

Share this post


Link to post
Share on other sites

Bom, quando se trata de programar, aconselho que faça e desenvolva a lógica por partes:

 

Criar uma classe em java que armazene 20 números em um vetor A. Gere e imprima o vetor B onde cada elemento é o quadrado do elemento, na respectiva posição, do vetor A.

 

 

Com isso, pode-se ir desenvolvendo:

 

1. Crie a classe em java e crie os atributos;

2. Armazene 20 números (pela entrada do usuário);

3. Crie um vetor B em que cada elemento desse vetor vai ser o quadrado do elemento de A;

 

Portanto:

import java.util.Arrays;
import java.util.Scanner;

public class vetor{
    public static void main (String [] args){
        Scanner entrada= new Scanner(System.in);
        int n = 20;
        Integer a[]=new Integer[n];
        Integer b[]=new Integer[n];
 
      
        
        for (int i = 0; i < n; i++) {
            System.out.println("digite numeros");

            a[i] = entrada.nextInt();
            b[i] = Math.sqrt(a[i]);
        }

        for(int x = 0; x < b.lenth; x++){
            System.out.println("Valor de B[" + x + "]: " + b[x]);
        }
 }
}

Observe que você fez um laço de i até v.length. Isso faz com que ele termine no primeiro loop. Então, faça o for de 0 < 20. Ou seja, de i < n.

Edited by rdgo94
  • +1 1

Share this post


Link to post
Share on other sites

Math.sqrt retorna a raíz quadrada

O quadrado de um número é n ^ 2

 

Poderia usar Math.pow

 

Pois é, pensei que era a raiz quadrada que ele desejava. Mas sim, pode-se usar o método Math.pow(a,2) ou fazer de modo "manual": a * a;

Edited by rdgo94

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.