galera ve se vcs conseguem me ajudar nesse probleminha …
o código abaixo ele roda mas tem alguns problemas que nao estou conseguindo resolver :
a variavel prob: ela nao esta atribuindo “1/en” para a variavel
e nao estou conseguindo fazer aparecer a JOptionPane.ShowMessageDialog aparecer
eu dei uma debugada no código e vi a questao da variavel prob e e que nessa variavel aux nao esta sendo atribuida tb
se vcs puderem me ajudar ficaria muito grato
tenho que entregar o programa amanha
valeu …
segue o código :
package javaapplication1;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.JButton;
import javax.swing.JLabel;
public class Main extends JFrame{
JButton botao;
JLabel label,label2,label3;
JTextField texto1,texto2;
int alt,en;
//constroi a primeira tela
public Main(){
texto1=new JTextField(3);
texto2=new JTextField(3);
botao=new JButton("continua");
label=new JLabel(" Digite o numero de Alternativas ");
label2=new JLabel("Digite o numero de Estados da Natureza");
Container container =getContentPane();
setTitle("Trabalho PO");
container.add(label);
container.add(texto1);
container.add(label2);
container.add(texto2);
container.add(botao);
container.setLayout(new FlowLayout(FlowLayout.CENTER));
setSize(300,200);
setVisible(true);
botaoContinua continua =new botaoContinua();
botao.addActionListener(continua);
}
private class botaoContinua implements ActionListener{
public void actionPerformed(ActionEvent evento){
//guarda as variaveis de alternativa e estados da natureza
try{
alt=Integer.parseInt(texto1.getText());
en=Integer.parseInt(texto2.getText());
}catch(NumberFormatException e){ //pode gerar exceção de formato de
JOptionPane.showMessageDialog(null,"voce digitou uma letra ou deixou de digitar algum campo");
System.exit(alt);//quando gerada a exceção sai do programa
}
SegundaJanela segundaJanela =new SegundaJanela();
segundaJanela.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
}
public class SegundaJanela extends JFrame{
public SegundaJanela(){
int arrayalt[]=new int[alt];
int arrayen[]=new int[en];
int arrayquant[][]=new int[alt][en];
int arrayresultado[][]=new int[alt][en];
int arraysoma[]=new int[alt];
int aux=0,opcao;
float prob=(1/en);
try{
for(int i=0;i<alt;i++){
arrayalt[i]=Integer.parseInt(JOptionPane.showInputDialog("digite o custo da "+(i+1)+" alternativa"));
}
}catch(ArrayIndexOutOfBoundsException e){
e.printStackTrace();
}
try{
for (int j=0;j<en;j++){
arrayen[j]=Integer.parseInt(JOptionPane.showInputDialog("digite o preço de venda do "+(j+1)+" estado da natureza"));
}
}catch(ArrayIndexOutOfBoundsException e){
e.printStackTrace();
}
try{
for(int i=0;i<=alt;i++){
for(int j=0;j<en;j++){
arrayquant[i][j]=Integer.parseInt(JOptionPane.showInputDialog("digite o numero da "+(i+1)+" qauntidade e do "+(j+1)+" estado da natureza"));
}
}
}catch(ArrayIndexOutOfBoundsException e){
e.printStackTrace();
}
opcao= JOptionPane.showConfirmDialog(null,"deseja ver qual a melhor alternativa a tomar? ","opçao",JOptionPane.YES_NO_OPTION);
if(opcao==JOptionPane.YES_OPTION){
for(int i=0;i<alt;i++){
for(int j=0;j<en;j++)
arrayresultado[i][j]=(((arrayen[j]-arrayalt[i])*arrayquant[i][j])*(int)prob);
}
for(int i=0;i<alt;i++)
for(int j=0;j<en;j++)
arraysoma[i]=arraysoma[i]+arrayresultado[i][j];
for(int i=0;i<=alt;i++)
if(aux<arraysoma[i]){
aux=arraysoma[i];
JOptionPane.showMessageDialog(null," a melhor alternativa é "+aux);
}
else
System.exit(0);
}
}
}
public static void main(String args []){
Main janela=new Main();
janela.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
}