• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

vizouk

Ajuda Java calculos string

6 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora