[英]Using stacks to reverse string?
到目前為止,這是我的代碼,我需要創建一個反向字符串,以便input =“ hello”將輸出=“ olleh” ...我的錯誤出現在代碼的push和pop部分中。 我不能使用StringBuffer。 錯誤是-
線程“主”中的異常java.lang.Error:未解決的編譯問題:l無法解決l無法解決
在E.reverse(E.java:10)在E.main(E.java:17)
你能幫忙嗎?
public class Rev {
public static String reverse(String s) {
MyStack st = new MyStack();
while (!s.isEmpty()) {
String k = st.toString();
st.push(s);
}
while (!s.isEmpty()) {
String p = st.pop();
return s;
}}
public static void main(String[] args) {
System.out.println(reverse("hello"));
}
}
一種簡單的方法是:
private Stack s = new Stack();
public void reversestack( String str )
{
for(int j = 0; j < str.length(); j++)
{
s.push( str.charAt( j ) );
}
while(s.isEmpty() != true)
{
System.out.println(s.pop());
}
}
這樣嘗試如何:-
public class StringReverse {
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
String str = "";
Stack<String> stack = new Stack<String>();
System.out.println("Enter a string to be reversed: ");
str = scanner.nextLine();
for (int i=0;i<str.length();i++){
stack.push(str.substring(i,i+1));
}
String strrev = "";
while(!stack.isEmpty()){
strrev += stack.pop();
}
System.out.println("Reverse of the string \"" + str + "\" is: \"" + strrev + "\"");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.