帮我看看下面java代码怎么没有输出的?急!!!!
publicclassJavama{publicstaticvoidmain(String[]args){Stack<String>stack=newStack<Stri...
public class Javama{
public static void main(String[] args){
Stack<String> stack=new Stack<String>();
String st="u n c - - - e r t - - - a - i - n t y - - - s - r u - - l e s - - ";
String[] str=st.split(" ");
for (int i=0; i<str.length;i++)
{
if(str[i]!="-")
stack.push(str[i]);
else
System.out.print(stack.pop());
}
}
} 展开
public static void main(String[] args){
Stack<String> stack=new Stack<String>();
String st="u n c - - - e r t - - - a - i - n t y - - - s - r u - - l e s - - ";
String[] str=st.split(" ");
for (int i=0; i<str.length;i++)
{
if(str[i]!="-")
stack.push(str[i]);
else
System.out.print(stack.pop());
}
}
} 展开
5个回答
展开全部
晕 你怎么知道程序进了else里面啊 只进了if里面你怎么可能会有输出,你在if和else之间打个大括号把你远来的语句放里面 在加以条打印System.out.println("进了这里"); 你可以看见打印
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正解,java中的String类型要用if(!"-".equals(str[i]))来比较,这样比较的是String的内容。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.util.Stack;
public class Javama{
public static void main(String[] args){
Stack<String> stack=new Stack<String>();
String st="u n c - - - e r t - - - a - i - n t y - - - s - r u - - l e s - - ";
String[] str=st.split(" ");
for (int i=0; i<str.length;i++){
if(!str[i].equals("-"))
stack.push(str[i]);
else
System.out.print(stack.pop());
}
}
}
public class Javama{
public static void main(String[] args){
Stack<String> stack=new Stack<String>();
String st="u n c - - - e r t - - - a - i - n t y - - - s - r u - - l e s - - ";
String[] str=st.split(" ");
for (int i=0; i<str.length;i++){
if(!str[i].equals("-"))
stack.push(str[i]);
else
System.out.print(stack.pop());
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请将 if(str[i]!="-")
改为
if(!"-".equals(str[i]))
再做一下测试
改为
if(!"-".equals(str[i]))
再做一下测试
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String类型是用equals()来比较的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询