Bem…na verdade o que eu to qrendo é fazer um programa que calcule um pivotamento…eu ate ja tenho e esta funcionando direitinho
Mas do jeito que está eu tenho que colocar os valores dentro do codigo, porem eu gostaria que tivesse uma janela para digitar os valores e pegar estas variaveis, montar a matriz, calcular e mostrar o resultado na tela…
Vou colocar o codigo completo aki pra vc ver como esta e o que eu ja tentei fazer com ele…
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Pivotamento {
static String k1, k2,k3, k4, k5, k6, k7, k8, k9, k10, k11, k12;
static double ln1, ln2, ln3, ln4, ln5, ln6, ln7, ln8, ln9, ln10, ln11, ln12;
private static final double EPSILON = 1e-10;
public static double[] resolve(double[][] A, double[] b) {
int N = b.length;
String mate;
for (int p = 0; p < N; p++) {
// encontra pivo
for (int i = p + 1; i < N; i++) {
double alpha = A[i][p] / A[p][p];
b[i] -= alpha * b[p];
for (int j = p; j < N; j++) {
A[i][j] -= alpha * A[p][j];
}
}
}
double[] x = new double[N];
for (int i = N - 1; i >= 0; i--) {
double sum = 0.0;
for (int j = i + 1; j < N; j++) {
sum += A[i][j] * x[j];
}
x[i] = (b[i] - sum) / A[i][i];
}
return x;
}
public static void main(String[] args) {
int N = 3;
/* try{
k1 = aplicação1_2.Tx1.getText();
k1 = k1.replace(',','.');
ln1 = Double.parseDouble(k1);
k2 = aplicação1_2.Tx2.getText();
k2 = k2.replace(',','.');
ln2 = Double.parseDouble(k2);
k3 = aplicação1_2.Tx3.getText();
k3 = k3.replace(',', ',');
ln3 = Double.parseDouble(k3);
k4 = aplicação1_2.Tx4.getText();
k4 = k4.replace(',', ',');
ln4 = Double.parseDouble(k4);
k5 = aplicação1_2.Tx5.getText();
k5 = k5.replace(',', ',');
ln5 = Double.parseDouble(k5);
k6 = aplicação1_2.Tx6.getText();
k6 = k6.replace(',', ',');
ln6 = Double.parseDouble(k6);
k7 = aplicação1_2.Tx7.getText();
k7 = k7.replace(',', ',');
ln7 = Double.parseDouble(k7);
k8 = aplicação1_2.Tx8.getText();
k8 = k8.replace(',', ',');
ln8 = Double.parseDouble(k8);
k9 = aplicação1_2.Tx9.getText();
k9 = k9.replace(',', ',');
ln9 = Double.parseDouble(k9);
k10 = aplicação1_2.Tx10.getText();
k10 = k10.replace(',', ',');
ln10 = Double.parseDouble(k10);
k11 = aplicação1_2.Tx11.getText();
k11 = k11.replace(',', ',');
ln11 = Double.parseDouble(k11);
k12 = aplicação1_2.Tx12.getText();
k12 = k12.replace(',', ',');
ln12 = Double.parseDouble(k12);
}
catch(NumberFormatException ex)
{
JOptionPane.showMessageDialog(null,"Digite apenas números !","Erro !", 0);
}*/
double[][] A = { { ln1, ln2, ln3 },
{ ln4, ln5, ln6 },
{ ln7, ln8, ln9 },
};
double[] b = { ln10, ln11, ln12 };
double[] x = resolve(A, b);
String[] letras = {"x","y","z"};
for (int i = 0; i < N; i++) {
JOptionPane.showMessageDialog(null,"O "+letras[i]+" encontrado é ="+x [i]);
// System.out.println(letras[i] + " = " + x[i]);
}
}
}
Ja tenho a classe que monta a tela onde o usuario vai digitar os valores, ela chama esta ai acima…so que na verdade nao esta chamando.