Ae galera …to precisando de um help básico , estou eu ainda no meu calvário para desenvolver o famoso labirinto usando pilha…eis que me surgem alguns erros escrotiferos…alguém poderia me dar um help por favor!!!
Segue código e erros…
while(saidaEncontrada = false){
//Testo as possiveis direções
while(passou = false){
//Direção 0
if (lab[linha-1,coluna] = ' '){
p.empilhar(Integer posicao1 = new Integer(Integer.parseInt(linha-1 & coluna)));
lab[linha-1,coluna] = '1';
passou = true;
}else if(lab[linha-1,coluna] = '#'){
posicaoAtual =p.desempilhar();
sposicaoAtual = Integer.toString(posicaoAtual);
linha = sposicaoAtual.substring(1,1);
coluna = sposicaoAtual.substring(2,1);
}
if (passou = false){
//Direcao 1
if (lab[linha-1,coluna] = ' '){
p.empilhar(Integer posicao1 = new Integer(Integer.parseInt(linha-1 & coluna)));
lab[linha-1,coluna] = '1';
passou = true;
}else if(lab[linha-1,coluna] = '#'){
posicaoAtual =p.desempilhar();
sposicaoAtual = Integer.toString(posicaoAtual);
linha = sposicaoAtual.substring(1,1);
coluna = sposicaoAtual.substring(2,1);
}
//Direcao 2
if (lab[linha+1,coluna-1] = ' '){
p.empilhar(Integer posicao1 = new Integer(Integer.parseInt(linha-1 & coluna)));
lab[linha+1,coluna-1] = '1';
passou = true;
}else if(lab[linha+1,coluna-1] = '#'){
posicaoAtual = p.desempilhar();
sposicaoAtual = Integer.toString(posicaoAtual);
linha = sposicaoAtual.substring(1,1);
coluna = sposicaoAtual.substring(2,1);
}
//Direcao 3
if (lab[linha,coluna+1] = ' '){
p.empilhar(Integer posicao1 = new Integer(Integer.parseInt(linha-1 & coluna)));
lab[linha,coluna+1] = '1';
passou = true;
}else if(lab[linha,coluna+1] = '#'){
posicaoAtual = p.desempilhar();
sposicaoAtual = Integer.toString(posicaoAtual);
linha = sposicaoAtual.substring(1,1);
coluna = sposicaoAtual.substring(2,1);
}
}
if(lab[linha,coluna] = 'S'){
saidaEncontrada = true;
break;
}
}
Aliás, fazer teste de igualdade em variáveis booleanas em expressões condicionais é uma grande redundância. É como se, em português, dissessemos “subir para cima”. Evite isso.
Já corrigi todos esses erros…valeu , minha cabeça ta doendo já…
Agora funcionou…só que preciso tb montar uma funcao que me retorne apenas o que tem depois da virgula numa String , exemplo “10,15” , quero que me retorne apenas o 15 , eu fiz isso com a parte antes da virgula e funcionou na boa…só que depois da virgula , não funciona nem a pau…alguma ideia ?
Uma saida, bem gambi, é ler a String até encontrar a ‘,’ e apartir dela atribuir os proximos caracteres em um atributo auxiliar, e usar o mesmo contendo a outra parte do numero.
Sinceramente não sei se existe algo diferente pra fazer isso!!!
Espero ter ajudado!
[quote=“thiagorani”]Uma saida, bem gambi, é ler a String até encontrar a ‘,’ e apartir dela atribuir os proximos caracteres em um atributo auxiliar, e usar o mesmo contendo a outra parte do numero.
Sinceramente não sei se existe algo diferente pra fazer isso!!!
Espero ter ajudado!
Falo.[/quote]
ou usar a java.util.StringTokenizer assim:
String teste = "10,15";
StringTokenizer parser = new StringTokenizer(teste, ",");
while (parser.hasMoreTokens()) {
fazQualquerCoisa(parser.nextToken());
}
Bem…eu já tinha feito o que o nosso amigo Thiago falou…pros caracteres antes da virgula funcionou blz…só que pros depois da virgula , ta com algum bug que não to conseguindo enxergar…
if (tipo == 0){
for(i=0;i<desempilhada.length();i++){
if(desempilhada.substring(i,i+1).equals(",")){
break;
}else{
linha = linha + desempilhada.substring(i,i+1);
}
}
}else if (tipo ==1){
for(i=0;i<desempilhada.length();i++){
if(desempilhada.substring(i,i+1).equals(",")){
encontrouVirgula=true;
}
if(encontrouVirgula= true){
linha = linha + desempilhada.substring(i,i+1);
}
}
}
ilinha = Integer.parseInt(linha);
return ilinha;
Usa oq o marcio disse ou faz algo mais simples, assim:
for (int i = 0; i < String.length(); i++){
if (String.valueOf(String.charAt(i)).equals(","))
seila = true;
if(seila){
aux = String.subString(i+1,String.length());
break;
}
}
O problema é que não sou programador Java , não trabalho com Java , é apenas um trabalho para faculdade valendo nota mensal ainda…eu to cheio de trampo aqui , quinhentas coisas pra resolver , ta maio dificil ficar lendo especificacoes de classes…