📄 simuladorwavefront.java
字号:
comparadorMenosUno = String.valueOf(comparador - 1); for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { if (waveFrontjTable.getValueAt(i, j).toString().equals(comparadorMenosUno.toString())) { int fila = i; int columna = j; caso = determinarPosicion(columna, fila); marcarValoresMatriz(fila, columna, comparador.toString(), caso); } } } comparador++; } System.out.println(".:FIN SIMULACION WAVE-FRONT:.");}//GEN-LAST:event_simularWaveFrontjButtonActionPerformed public boolean validarQs() { int columnaQs = qStr[0][0]; int filaQs = qStr[0][1]; Integer valorMatrizNorteQs; Integer valorMatrizSurQs; Integer valorMatrizOesteQs; Integer valorMatrizEsteQs; Integer valorMatrizNoresteQs; Integer valorMatrizNoroesteQs; Integer valorMatrizSuroesteQs; Integer valorMatrizSuresteQs; casoQs = determinarPosicion(columnaQs, filaQs); switch (casoQs) { case 1: valorMatrizEsteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs + 1).toString()); valorMatrizSurQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs).toString()); valorMatrizSuresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs + 1).toString()); if (valorMatrizEsteQs > 1 || valorMatrizSurQs > 1 || valorMatrizSuresteQs > 1) { return true; } break; case 2: valorMatrizSurQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs).toString()); valorMatrizOesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs - 1).toString()); valorMatrizSuroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs - 1).toString()); if (valorMatrizOesteQs > 1 || valorMatrizSurQs > 1 || valorMatrizSuroesteQs > 1) { return true; } break; case 3: valorMatrizNorteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs).toString()); valorMatrizEsteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs + 1).toString()); valorMatrizNoresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs + 1).toString()); if (valorMatrizNorteQs > 1 || valorMatrizEsteQs > 1 || valorMatrizNoresteQs > 1) { return true; } break; case 4: valorMatrizNorteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs).toString()); valorMatrizOesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs - 1).toString()); valorMatrizNoroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs - 1).toString()); if (valorMatrizNorteQs > 1 || valorMatrizOesteQs > 1 || valorMatrizNoroesteQs > 1) { return true; } break; case 5: valorMatrizSurQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs).toString()); valorMatrizOesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs - 1).toString()); valorMatrizEsteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs + 1).toString()); valorMatrizSuroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs - 1).toString()); valorMatrizSuresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs + 1).toString()); if (valorMatrizSurQs > 1 || valorMatrizOesteQs > 1 || valorMatrizSuroesteQs > 1 || valorMatrizEsteQs > 1 || valorMatrizSuresteQs > 1) { return true; } break; case 6: valorMatrizNorteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs).toString()); valorMatrizOesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs - 1).toString()); valorMatrizEsteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs + 1).toString()); valorMatrizNoresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs + 1).toString()); valorMatrizNoroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs - 1).toString()); if (valorMatrizNorteQs > 1 || valorMatrizOesteQs > 1 || valorMatrizNoroesteQs > 1 || valorMatrizEsteQs > 1 || valorMatrizNoresteQs > 1) { return true; } break; case 7: valorMatrizNorteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs).toString()); valorMatrizSurQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs).toString()); valorMatrizEsteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs + 1).toString()); valorMatrizNoresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs + 1).toString()); valorMatrizSuresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs + 1).toString()); if (valorMatrizNorteQs > 1 || valorMatrizSurQs > 1 || valorMatrizEsteQs > 1 || valorMatrizNoresteQs > 1 || valorMatrizSuresteQs > 1) { return true; } break; case 8: valorMatrizNorteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs).toString()); valorMatrizSurQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs).toString()); valorMatrizOesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs - 1).toString()); valorMatrizNoroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs - 1).toString()); valorMatrizSuroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs - 1).toString()); if (valorMatrizNorteQs > 1 || valorMatrizSurQs > 1 || valorMatrizOesteQs > 1 || valorMatrizNoroesteQs > 1 || valorMatrizSuroesteQs > 1) { return true; } break; case 9: valorMatrizNorteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs).toString()); valorMatrizSurQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs).toString()); valorMatrizOesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs - 1).toString()); valorMatrizEsteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs + 1).toString()); valorMatrizNoresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs + 1).toString()); valorMatrizNoroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs - 1).toString()); valorMatrizSuroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs - 1).toString()); valorMatrizSuresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs + 1).toString()); if (valorMatrizNorteQs > 1 || valorMatrizSurQs > 1 || valorMatrizOesteQs > 1 || valorMatrizEsteQs > 1 || valorMatrizNoroesteQs > 1 || valorMatrizNoresteQs > 1 || valorMatrizSuroesteQs > 1 || valorMatrizSuresteQs > 1) { return true; } break; } return false; } public int determinarPosicion(int columna, int fila) { if (columna == 0 && fila == 0) { caso = 1; } else if (columna == max && fila == 0) { caso = 2; } else if (columna == 0 && fila == max) { caso = 3; } else if (columna == max && fila == max) { caso = 4; } else if (columna > 0 && fila == 0) { caso = 5; } else if (columna > 0 && fila == max) { caso = 6; } else if (columna == 0 && fila > 0) { caso = 7; } else if (columna == max && fila > 0) { caso = 8; } else if (columna > 0 && fila > 0) { caso = 9; } return caso; } void marcarValoresMatriz(int nRow, int nCol, String comparador, int caso) { int filaActual = nRow; int columnaActual = nCol; switch (caso) { case 1: valorMatrizEste = waveFrontjTable.getValueAt(filaActual, columnaActual + 1).toString(); if (valorMatrizEste.equals("0")) { waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual, columnaActual + 1); } valorMatrizSur = waveFrontjTable.getValueAt(filaActual + 1, columnaActual).toString(); if (valorMatrizSur.equals("0")) { waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual + 1, columnaActual); } valorMatrizSureste = waveFrontjTable.getValueAt(filaActual + 1, columnaActual + 1).toString(); if (valorMatrizSureste.equals("0")) { waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual + 1, columnaActual + 1); } break; case 2: valorMatrizOeste = waveFrontjTable.getValueAt(filaActual, columnaActual - 1).toString(); if (valorMatrizOeste.equals("0")) { waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual, columnaActual - 1); } valorMatrizSur = waveFrontjTable.getValueAt(filaActual + 1, columnaActual).toString(); if (valorMatrizSur.equals("0")) { waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual + 1, columnaActual); } valorMatrizSuroeste = waveFrontjTable.getValueAt(filaActual + 1, columnaActual - 1).toString(); if (valorMatrizSuroeste.equals("0")) { waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual + 1, columnaActual - 1); } break; case 3: valorMatrizNorte = waveFrontjTable.getValueAt(filaActual - 1, columnaActual).toString(); if (valorMatrizNorte.equals("0")) { waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual - 1, columnaActual); } valorMatrizEste = waveFrontjTable.getValueAt(filaActual, columnaActual + 1).toString(); if (valorMatrizEste.equals("0")) { waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual, columnaActual + 1); } valorMatrizNoreste = waveFrontjTable.getValueAt(filaActual - 1, columnaActual + 1).toString(); if (valorMatrizNoreste.equals("0")) { waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual - 1, columnaActual + 1); } break; case 4: valorMatrizNorte = waveFrontjTable.getValueAt(filaActual - 1, columnaActual).toString(); if (valorMatrizNorte.equals("0")) { waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual - 1, columnaActual); } valorMatrizOeste = waveFrontjTable.getValueAt(filaActual, columnaActual - 1).toString();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -