帮我看看下面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());
}
}
}
展开
 我来答
百度网友3bdf74d
2010-12-10 · 超过14用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:38.3万
展开全部
晕 你怎么知道程序进了else里面啊 只进了if里面你怎么可能会有输出,你在if和else之间打个大括号把你远来的语句放里面 在加以条打印System.out.println("进了这里"); 你可以看见打印
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
今天又喝粥
2010-12-10 · TA获得超过230个赞
知道小有建树答主
回答量:262
采纳率:50%
帮助的人:116万
展开全部
正解,java中的String类型要用if(!"-".equals(str[i]))来比较,这样比较的是String的内容。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
恽俊雅0iN888
2010-12-10 · TA获得超过185个赞
知道小有建树答主
回答量:281
采纳率:0%
帮助的人:200万
展开全部
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());
}
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大雅才人而行a
2010-12-10 · TA获得超过4757个赞
知道小有建树答主
回答量:542
采纳率:0%
帮助的人:274万
展开全部
请将 if(str[i]!="-")
改为
if(!"-".equals(str[i]))
再做一下测试
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宝远我w
2010-12-10
知道答主
回答量:4
采纳率:0%
帮助的人:5838
展开全部
String类型是用equals()来比较的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式