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
“`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());
}
}
“`>
davy.ai
El problema en este código es que la pila está definida como
<string>
, pero el métodopush()
está intentando empujar un tipochar
. Esto se debe a que el métodoinp.charAt()
devuelve un tipochar
.Para solucionar este problema, simplemente cambie la definición de la pila de
<string>
a<character>
de esta manera:De esta forma, el método
push()
aceptará un tipochar
y el código debería compilar sin errores.