PDA

Ver la Versión Completa : Ayuda codigo en java



victorock
13-jun.-2009, 18:21
EL CICLO FOR NO RESPETA LA CONDICION, ES MUY IMPORTANTE QUE ME AYUDEN POR FAVOR

ESTE ES EL CODIGO

EL PROBLEMA ES QUE LA CONDICION SE REALIZA SIN RESPETARSE LA CONDICION;

import javax.swing.*;
import javax.swing.JTextArea;
import javax.swing.JOptionPane;
import java.io.*;
import javax.swing.JTable;

public class tablero
{
public static void main(String args[])
{

double tab1[][];
tab1= new double [6][6];
JTextArea salida=new JTextArea();
salida.setText("");
JTextArea uno=new JTextArea();
uno.setText("");
JTextArea dos=new JTextArea();
dos.setText("");
String dialogo,inicio,tabla1,cuidado;
int c=1,i;
uno.append("arma las tablas");
JOptionPane.showMessageDialog(null,uno);
dos.append("primera fila");
JOptionPane.showMessageDialog(null,dos);
for(c=1;c<6;c++)
{
dialogo=JOptionPane.showInputDialog("DAME LOS VALORES DE LA CASILLA"+c);
tab1[c][1]=Double.parseDouble(dialogo);
}

if(tab1[c][1]>99);
salida.append("solo de 1 al 99");
JOptionPane.showMessageDialog(null,salida);
dialogo=JOptionPane.showInputDialog("DAME LOS VALORES DE LA CASILLA"+c);
tab1[c][1]=Double.parseDouble(dialogo);

}

}



ME MANDA EL MENSAJE DE SOLO DE 1 AL 99 AUNQUE INSERTE UN NUMERO DENTRO DEL RANGO

Mr.Silent
13-jun.-2009, 23:05
Ya encontré el error. Elimine algunas cosas, quizá las necesites para el programa general o para integrarlo a algún modulo.

Cada que corrías el for, te llenaba tu matriz y cuando intentabas validad, c valía 6 y el programa tronaba.

Integre tu validación al for y con esto, ya hace lo que se supone debería o tendía que hacer. Cualquier duda, esperamos ayudarte.



package com.test.prueba;

import javax.swing.JOptionPane;
import javax.swing.JTextArea;

public class Tablero {

public static void main(String args[])
{

int tab1[][];
tab1= new int [6][6];
JTextArea salida=new JTextArea();
salida.setText("");
JTextArea uno=new JTextArea();
uno.setText("");
JTextArea dos=new JTextArea();
dos.setText("");
String dialogo,inicio,tabla1,cuidado;
int c=1;
int num;
/*Donde usas i?*/
//int i;
uno.append("arma las tablas");
JOptionPane.showMessageDialog(null,uno);
dos.append("primera fila");
JOptionPane.showMessageDialog(null,dos);
for(c=1;c<6;c++)
{
dialogo=JOptionPane.showInputDialog("DAME LOS VALORES DE LA CASILLA"+c);
num = Integer.parseInt(dialogo);
if (num > 99) {
salida.append("Solo de 1 a 99");
JOptionPane.showMessageDialog(null, salida);
dialogo = JOptionPane.showInputDialog("Dame los valores de la casilla "+c);
tab1[c][1] = Integer.parseInt(dialogo);
}
tab1[c][1] = num;
}

/*
if(tab1[c][1]>99);
salida.append("solo de 1 al 99");
JOptionPane.showMessageDialog(null,salida);
dialogo=JOptionPane.showInputDialog("DAME LOS VALORES DE LA CASILLA"+c);
try {
tab1[c][1]=Double.parseDouble(dialogo);
} catch (Exception e) {
e.printStackTrace();
}
*/

}

}