Você precisa definir o que é “funcionar corretamente”
Se compila funciona corretamente? Ou algo que não funciona como você espera?
Se for a segunda opção, explique o que é.
M
mrclolveira
Okay, o desejado é em uma matriz 4x4 quando encontrar a Letra W deve adicionar a letra C ao redor,
| A | A | A |
| A | W | A |
| A | A | A |
| A | C | A |
| C | W | C |
| A | C | A |
Mas nesse problema if de linha anterior e coluna anterio simplesmente nao adiconam o C
ViniGodoy
Já tentou usar um depurador?
O que acontece com o calculo de i-1 e j-1 quando os valores de i ou j foram exatamente iguais a 0?
O sinal deveria ser somente o de >, não >=.
M
mrclolveira
ViniGodoy, Quando o W estiver la linha 0 ou coluna 0 o resultado de i-1 ou j-1 seriam -1, assim ele estaria na borda, ou seja nao preciso fazer nada
mas caso meu i ou j forem 1 o resultado ja é 0, intao preciso adiconar os C na coluna 0 e linha 0
E
entanglement
mrclolveira:
ViniGodoy, Quando o W estiver la linha 0 ou coluna 0 o resultado de i-1 ou j-1 seriam -1, assim ele estaria na borda, ou seja nao preciso fazer nada
mas caso meu i ou j forem 1 o resultado ja é 0, intao preciso adiconar os C na coluna 0 e linha 0
Pois é, você precisa botar no seu código um “if” para tratar o caso “na borda, não precisa fazer nada”. Se passar -1, o array vai explodir nesse ponto, já que o Java não aceita índices negativos para arrays. Certo?
ViniGodoy
Certo, então porque seu if aceita o índice =0?
if(i-1>=0)tab[i-1][j]+="C";
O certo seria:
if(i-1>0)tab[i-1][j]+="C";
M
mrclolveira
Galera consegui consertar, o codigo do IF esta certo.
Desse jeito eu estava fazendo uma busca em todos as posiçoes da Matriz, Mudei o if para adiconar os C`s no junto ao q adicona o W anterior a isso. ficou ate mais limpo o programa