Vetor u e v

// Adição

// (3,-5,8) + (4,-2,-1) = (7,-7,7)

// programa: 777

// Multiplicação

// (3,-5,8) * (4,-2,-1) = (12,10,-8)

// programa: 121212

O programa está usando vetores e for o resultado não bate.

Obs: Vetor u e v

/*

Dados os vetores u=(3,-5,8) e v=(4,-2,-1).

Calcule:

u+v

(3,-5,8) + (4,-2,-1)

( (3 + 4) ,( -5 + (-2) ) ,( 8 + (-1) )

Resposta: (7,-7,7)

u*v

(3,-5,8) * (4,-2,-1)

( (3 * 4) ,( -5 * (-2) ) ,( 8 * (-1) )

Resposta: (12,10,-8)

*/

package exercicio1;

import java.util.Scanner;

public class Exercicio1 {

public static void main(String[] args) {
    
    Scanner entrada = new Scanner(System.in);
    
    int dimensao_vetor_u, dimensao_vetor_v;
    int elemento_vetor_u;
    int elemento_vetor_v;
    
    System.out.println("Informe a dimensão do vetor u: ");
    dimensao_vetor_u=entrada.nextInt();
    
    
    System.out.println("\n");  
    
    
    // Vetor u
    int[] u = new int[dimensao_vetor_u];
            
    for (int i = 0; i < u.length; i++){
		System.out.println("Informe o " +(i+1)  +" elemento"  +" do vetor u");
		u[i] =elemento_vetor_u=entrada.nextInt();
                    
	}
    
    
    System.out.println("\n");
    
    
    System.out.println("Elementos do vetor u:");
    
            for (int i = 0; i < u.length; i++){
                
                    System.out.print(u[i]);
                    
	}

            
    
    System.out.println("\n\nInforme a dimensão do vetor v: ");
    dimensao_vetor_v=entrada.nextInt();
    
    
    System.out.println("\n");   
        
    
    // Vetor v
    int[] v = new int[dimensao_vetor_v];
    
            for (int j = 0; j < v.length; j++){
		System.out.println("Informe o " +(j+1)  +" elemento"  +" do vetor v");
		v[j] =elemento_vetor_v=entrada.nextInt();
                    
	}
            
            
    System.out.println("\n");
    
        
    System.out.println("Elementos do vetor v:");
    
            for (int j = 0; j < v.length; j++){
                
                    System.out.print(v[j]);
                    
	}
   
    

    int opcao;
    
    
    
     // Criação de Menu em Java
     
     do {
        System.out.println("\n\n### Operações matemáticas entre vetores ###");
    System.out.println("    ======================== ");
    System.out.println("   |     1 - Adição         |");
    System.out.println("   |     2 - Subtração      |");
    System.out.println("   |     3 - Multiplicação  |");
        System.out.println("   |     4 - Divisão        |");
    System.out.println("   |     0 - Sair           |");
        System.out.println("    ========================\n");
        System.out.print("\n");
        opcao = entrada.nextInt();  
                    
       switch (opcao) {  
           case 1:
               
               // Adição  
               
               // (3,-5,8) + (4,-2,-1) = (7,-7,7)
            
               // Elementos do vetor resultante: 777

               
            System.out.println("Elementos do vetor resultante:");
    
                    // Vetor r
                    int[] r = new int[v.length];
                    
                    for (int l = 0; l < r.length; l++){
            int i = 0;
            int j = 0;
                                            
                    System.out.print(u[i] + v[j]);
                    
	}
               
               
               break;  
           case 2:  
               break;  
           case 3:  
               
               // Multiplicação
               
               // (3,-5,8) * (4,-2,-1) = (12,10,-8)
               
               // Elementos do vetor resultante: 121212
               
               
        System.out.println("Elementos do vetor resultante:");
               
                    // Vetor r
                    int[] r1 = new int[v.length];
                    
                    for (int m = 0; m < r1.length; m++){
            int i = 0;
            int j = 0;
                    System.out.println( u[i] );
                    System.out.println( v[j] ); 
                    
                    System.out.print( u[i] * v[j] );
                    
	}   
               
               break;  
           case 4:  
               break;  
           default:  
                System.out.println("Sair do programa");
                break; 
       }  
   } while (opcao != 0);  
                    
                    
    
}

}

Tenta
System.out.print(u[l] + v[l]);

1 curtida

Percebe que a linha acima que destaquei não faz sentido nenhum no seu código?
Você declarou i=0 e j=0 e nunca mais alterou os valores das variáveis.
Além disso não é necessário 2 variáveis, dá pra usar a própria variável do for.

Ser colocar assim o netbeans reclama dentro do for

            //int i = 0;
            //int j = 0;



  // Adição  
               
               // (3,-5,8) + (4,-2,-1) = (7,-7,7)
            
               // Elementos do vetor resultante: 777

               
            System.out.println("Elementos do vetor resultante:");
    
                    // Vetor r
                    int[] r = new int[v.length];
                    
                    for (int l = 0; l < r.length; l++){
            int i = 0;
            int j = 0;
                                            
                    System.out.print(u[l] + v[l]);
                    
	}

Alterei o l para m:

        System.out.println("Elementos do vetor resultante:");
               
                    // Vetor r
                    int[] r1 = new int[v.length];
                    
                    for (int m = 0; m < r1.length; m++){
            int i = 0;
            int j = 0;
                    
                    System.out.print( u[m] * v[m] );
                    
	}   

Elementos do vetor resultante:
1210-8

Tem como formatar a saída para:

r= (12, 10, -8)

run:
Informe a dimensão do vetor u:
3

Informe o 1 elemento do vetor u
3
Informe o 2 elemento do vetor u
-5
Informe o 3 elemento do vetor u
8

Elementos do vetor u:
3-58

Informe a dimensão do vetor v:
3

Informe o 1 elemento do vetor v
4
Informe o 2 elemento do vetor v
-2
Informe o 3 elemento do vetor v
-1

Elementos do vetor v:
4-2-1

Operações matemáticas entre vetores

======================== 

| 1 - Adição |
| 2 - Subtração |
| 3 - Multiplicação |
| 4 - Divisão |
| 0 - Sair |
========================

1
Elementos do vetor resultante:
7-77

Operações matemáticas entre vetores

======================== 

| 1 - Adição |
| 2 - Subtração |
| 3 - Multiplicação |
| 4 - Divisão |
| 0 - Sair |
========================

Você não precisa das variaveis i e j, é só lembrar de substituir pelo contador do For sempre que um “i” ou “j” aparecem.

1 curtida

Tem a questão da formatação dos valores finais e comparar as dimensões dos vetores.

Pode acontecer esse tipo de situação:

run:
**Informe a dimensão do vetor u: **
3

Informe o 1 elemento do vetor u
3
Informe o 2 elemento do vetor u
-5
Informe o 3 elemento do vetor u
8

Elementos do vetor u:
3-58

**Informe a dimensão do vetor v: **
4

Informe o 1 elemento do vetor v
4
Informe o 2 elemento do vetor v
-2
Informe o 3 elemento do vetor v
-1
Informe o 4 elemento do vetor v

Elementos do vetor v:
4-2-12

2

Operações matemáticas entre vetores

======================== 

| 1 - Adição |
| 2 - Subtração |
| 3 - Multiplicação |
| 4 - Divisão |
| 0 - Sair |
========================

3
Elementos do vetor resultante:
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 3
** at exercicio1.Exercicio1.main(Exercicio1.java:174)**
1210-8/netbeans/8.2/executor-snippets/run.xml:53: Java returned: 1
FALHA NA CONSTRUÇÃO (tempo total: 34 segundos)

Seu vetor tem tamanho 3, ele pode possuir 3 valores nas posições 0,1,2.
Não tente acessar a posição 3 do vetor pois ela não existe, este erro acima diz exatamente isso, você esta tentando acessar uma posição que ultrapassa o limite do tamanho do seu vetor.

Será que existe uma forma de comparar a dimensão do vetor u com a dimensão do vetor v?

if (dimensao_vetor_v == dimensao_vetor_u)

continua… entra no menu

else

break;

}

Seria isso?

Use a função .length ue…
if (u.length==v.lenght) {
entra no menu
}

1 curtida

=================================================

if (u.length == v.length) {

menu

}else {

break; <======= esta em vermelho

}

break não é um comando muito natural, ele força uma parada no código.

Ao invés de usar break apenas escreva um aviso para o usuário avisando que os tamanhos dos vetores devem ser iguais.

Além do aviso para o usuário posso colocar System.exit(0); no final do else?

O menu esta com problema.
Tipo se colocar um numero que não esta nos cases o programa não finaliza ele continua no loop.
Só para ser digitar zero.

 do {
     System.out.println("\n\n### Operações matemáticas entre vetores ###");
     System.out.println("    ======================== ");
     System.out.println("   |     1 - Adição         |");
     System.out.println("   |     2 - Subtração      |");
     System.out.println("   |     3 - Multiplicação  |");
     System.out.println("   |     4 - Divisão        |");
     System.out.println("   |                        |");
     System.out.println("   |     5 -                |");
     System.out.println("   |                        |");
     System.out.println("   |     6 -                |");
     System.out.println("   |                        |");
     System.out.println("   |     0 - Sair           |");
     System.out.println("    ========================\n");
     System.out.print("\n");
     opcao = entrada.nextInt();  
                        
           switch (opcao) {  
               case 1:                 
                   break;  
                   
               case 2:  
                   break;  
                   
               case 3:  
                   break;  
                   
               case 4:  
                   break;  

                case 5:  
                   break;  
  
                case 6:  
                   break;  

                   
               default:  
                    System.out.println("Sair do programa");
                    break; 
           }  
       } while (opcao != 0);

Basta setar opção para 0 quando cair no default.

não entendi

default:  
                opcao=0;
                System.out.println("Sair do programa");
                break;

Tem problema ser colocar um System.exit(0); no lugar do opcao=0;?

O System.exit(0) fecha o programa de uma vez, sem aparecer nada para a pessoa mostrando que acabou, agora colocando a opção igual a 0 pelo que você está propondo fica mais correto, já que ele apenas sai da estrutura do while. A respeito de uma dúvida anterior que vi sobre a formatação para aparecer mais bonito você tem como fazer algumas coisas

                 for (int l = 0; l < r.length; l++){
       
                 if(l==0){
                     System.out.print("(")
                } 
                if(l<(r.length-1)){
                System.out.print(u[l] + v[l]+",");
                }
                 else{
                   System.out.print(u[l] + v[l]+")");
                 }
}
1 curtida