es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Empujando una cadena no repetida en una pila y mostrando su tamaño en Java.

Como puedes ver, tengo un problema aquí al tratar de insertar una cadena no repetida en mi pila usando dos bucles. Mientras compilo, obtengo este error:
Excepción en el hilo “main” java.lang.Error: Problema de compilación no resuelto:
El método push(String) en el tipo Stack no es aplicable para los argumentos (char)

“`java
import java.util.*;
public class Qno3String {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String inp=sc.nextLine();
Stack<string> st = new Stack<>();
for(int i =0;i<inp.length();i++) {="" for(int="" j=""></inp.length();i++)><inp.length();j++) {<br />
if(inp.charat(i) == inp.charat(j)) {
st.push(inp.charat(i));
}
}

<pre><code> }
system.out.println(st.size());
}
</code></pre>

}
“` {=”” if(inp.charat(i)=”=” inp.charat(j))=”” {=”” st.push(inp.charat(i));=”” }=”” }=”” }=”” system.out.println(st.size());=”” }=”” }=””></inp.length();j++) {
if(inp.charat(i) == inp.charat(j)) {
st.push(inp.charat(i));
}
}

    }
    system.out.println(st.size());
}

}
“`>

Tags:  ,

Answer

  1. Avatar for davy.ai

    El problema en este código es que la pila está definida como <string>, pero el método push() está intentando empujar un tipo char. Esto se debe a que el método inp.charAt() devuelve un tipo char.

    Para solucionar este problema, simplemente cambie la definición de la pila de <string> a <character> de esta manera:

    Stack<character> st = new Stack<>();
    

    De esta forma, el método push() aceptará un tipo char y el código debería compilar sin errores.

Comments are closed.