- 已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
20小时前关门了。
Improve this question
我是Java新手。我有问题。这是我的代码
Stack<String> st = new Stack<String>();
int num=9;
while(num > 0){
st.push(Integer.toString(num%2));
num/=2;
}
int d=0;
if(!st.isEmpty()){
d++;
st.pop();
}
System.out.println(d);
结果是1分。但是正确的是4分。我不知道怎么改正。如果我的英语不好,对不起。谢谢
1条答案
按热度按时间eeq64g8w1#
你的问题在第8行!当你定义if时,你必须写while循环,而不是if语句
另一点是你的栈应该是integer,并且它不是必须用string定义栈
所以试试看: