Jump to content
Sign in to follow this  
vizouk

Ajuda Java calculos string

Recommended Posts

vizouk

Ola bom dia parece que java ta aqui a dar problemas.

Temos 1 equacao (x,y,z)

Vamos pedir ao utilizador, para introduzir a equacao que ele pretende verificar o subespaco R3.

Se ele introduzir por exemplo, (2y-z , y , z), e de seguida introduzir (1,2,3), como e que vamos fazer contas com a equacao introduzida e com o (1,2,3) se a equacao esta no tipo string?

Cumprimentos

Share this post


Link to post
Share on other sites
Knitter

Se o objectivo do exercício não é programar o cálculo das equações podes usar uma biblioteca de avaliação de expressões matemáticas. Esta é simples de usar: http://lts.online.fr/dev/java/math.evaluator/

Se tiveres de fazer tu a programação dos cálculos, então será mais complicado, terás de criar um mecanismo que permite separar os vários elementos da equação de modo a conseguires aplicar as operações matemáticas associadas. Em primeira análise optaria por usar pilhas parar colocar os vários elementos e assim aplicar as operações.

Share this post


Link to post
Share on other sites
vizouk

Se o objectivo do exercício não é programar o cálculo das equações podes usar uma biblioteca de avaliação de expressões matemáticas. Esta é simples de usar: http://lts.online.fr/dev/java/math.evaluator/

Se tiveres de fazer tu a programação dos cálculos, então será mais complicado, terás de criar um mecanismo que permite separar os vários elementos da equação de modo a conseguires aplicar as operações matemáticas associadas. Em primeira análise optaria por usar pilhas parar colocar os vários elementos e assim aplicar as operações.

Knitter obrigado vou entao por maos a obra e depois digo o resultado.

Cumprimentos

Share this post


Link to post
Share on other sites
vizouk

Bom dia

Temos a equacao da (x,y,z) e queremos verificar se esta tem elemento nulo ou seja subsittuir o x,y,z por zero e verificar se da a (0,0,0).

Nos criamos 3 variaveis temporarias temp1, temp2, temp3 e fizemos

temp1 = Int.parsenInt(xyz)[0]

e o mesmo para temp2 e para temp3.

Agora queremos verificar se cada variavel temporaria da 0, como podemos substituir os valores dentro de cada variavel temporaria por 0. Por exemplo na temp1 substituir o x por 0.

Cumprimentos e obrigado por qualquer ajuda.

p.s: outro problema e por exemplo quando passo e que nao sei como passar para int quando tenho x,y,z :/

por exemplo como vou passar isto para uma expressao inteira com letras.

Share this post


Link to post
Share on other sites
Knitter

Para fazeres substituições dentro da string vê os métodos da classe String, tens métodos para fazer a substituição de letras/palavras.

Para veres se a equação aceita o elemento nulo basta resolveres a conta, se estiveres a usar a biblioteca que indiquei basta passares a string que queres resolver que te é dado o resultado.

Que código já tens feito?

Share this post


Link to post
Share on other sites
vizouk

Para fazeres substituições dentro da string vê os métodos da classe String, tens métodos para fazer a substituição de letras/palavras.

Para veres se a equação aceita o elemento nulo basta resolveres a conta, se estiveres a usar a biblioteca que indiquei basta passares a string que queres resolver que te é dado o resultado.

Que código já tens feito?

Pois nao usei isso.


import java.util.Scanner;
import javax.swing.JOptionPane;


public class Main {

    /**
     * @param args the command line arguments
     */
    
    private static int Menu(){
        int opção;
        
        String menu = "Indique a opção que pretende consultar: \n" +
                "1-  Inserir equação do subespaço \n"+
                "2-  \n"+
                "2-  \n"+
                "3-  \n"+
                "4-  \n"+
                "5-  \n"+
                "6-  \n"+
                "7-  \n"+
                "8-  \n"+
                "9-  \n"+
                "10- \n"+
                "11- \n "+
                "Escolha uma opção.";
        do {
            opção = Integer.parseInt (JOptionPane.showInputDialog(menu));    
        } while (opção < 1 || opção > 11);
        
        return opção;
    }

    private static String Equacao(){
        Scanner ler = new Scanner (System.in);
        String Eq;

        System.out.println("Introduza a equação do subespaço no formato (x,y,z)");
        Eq = ler.next();

        return Eq;
    }


    /*private static void PreencheVecs(int vec1 [] , int vec2 [] , int vec3 [] , int n){

        int x = Integer.parseInt(JOptionPane.showInputDialog("Introduza o valor de x"));
        vec1[n] = x;
        int y = Integer.parseInt(JOptionPane.showInputDialog("Introduza o valor de y"));
        vec2[n] = y;
        int z = Integer.parseInt(JOptionPane.showInputDialog("Introduza o valor de z"));
        vec3[n] = z;

    }*/

    /*private static void MostrarVector(int vec1 [] , int vec2 [] , int vec3 [], int n){
        int i = 0;
        String aux1 = "";

        for ( i = 0 ; i < n ; i++){
            aux1+= "\n("+vec1[i]+","+vec2[i]+","+vec3[i]+")";
        }

        JOptionPane.showMessageDialog(null, aux1);
    }*/


    public static void main(String[] args) {
        int vec1[] = new int [10]; //Vector que guarda variável x
        int vec2[] = new int [10]; //Vector que guarda variável y
        int vec3[] = new int [10]; //Vector que guarda variável z
        int n = 0 , opção = 0; // Numero de Elementos

        do {
            opção = Menu();
            switch (opção) {
                case 1:
                    String Eq = Equacao();
                    System.out.println("Vamos agora verificar as 4 condições para ser subespaço R3");
                    ElementoNulo(Eq);
                    break;


                ///////////////////////////////////////
                /*case 2:
                    PreencheVecs(vec1,vec2,vec3,n);
                    n++;
                    break;
                ///////////////////////////////////////
                case 3:
                    MostrarVector(vec1,vec2,vec3,n);*/
                ///////////////////////////////////////
                    
            }
        } while (opção != 11);
  
    } // PUBLIC STATIC VOID MAIN

    private static void ElementoNulo(String Eq){
        String xyz [] = new String [10];

        Eq.replaceAll("x","0");
        Eq.replaceAll("y","0");
        Eq.replaceAll("z","0");

        xyz = Eq.split(",");

        
    }

} //MAIN

E o que esta feito ate agora.

O que me era pedido era isto:

1. Dado um subconjunto de R'3 averigúe se é subespaço de R'3 . Considere somente vectores

cujos coeficientes das variáveis de cada coordenada sejam valores inteiros. A leitura dos

dados de entrada do subespaço V deverá ser feita através da consola e deverão ser lidas,

sequencialmente, as três coordenadas desse vector. Os cálculos auxiliares deverão ser

exportados para um ficheiro de texto em formato HTML.

Cumprimentos

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  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.