[J2SE] stack取出
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.11.103
推
03/24 22:26, , 1F
03/24 22:26, 1F
推
03/24 22:27, , 2F
03/24 22:27, 2F
就是現在我的STACK裡面有一堆東西
我想讓它依序丟出
而我想到的方法適用迴圈讓它重複執行System.out.print(st.pop());
問題是加上迴圈卻連一個值都丟不出來
而如果我拿掉迴圈 改成多打幾次System.out.print(st.pop());
則可以正確的顯示我要的結果
可是我並不想多打幾次 因為STACK內的數量不定 想用迴圈讓它跑玩
有沒有辦法?
抱歉 剛剛複製錯誤 沒注意到我改成size 我本來就是用pop而以
問題已經解決了
while(!st.isEmpty())
System.out.print(st.pop());
這樣就能達成我要的目的
可是問題是
為什麼我用
for(int i = 1 ; i<1 ; i++){
System.out.print(st.pop());
}
讓它跑 卻連一個值都丟不出來?
問題已經解決了
原本是希望做出一個無窮迴圈 讓它重複執行System.out.print(st.pop());
但是因為邏輯性錯誤
應該要用 i =1 ; 1>0 ; i++ 才能做出來
導致內部一次都沒執行到 才會跑不出來
感謝KOFXI的指導~
※ 編輯: bantime 來自: 122.117.11.103 (03/24 22:30)
→
03/24 22:44, , 3F
03/24 22:44, 3F
→
03/24 22:44, , 4F
03/24 22:44, 4F
推
03/24 22:46, , 5F
03/24 22:46, 5F
※ 編輯: bantime 來自: 122.117.11.103 (03/24 23:29)
→
03/25 00:53, , 6F
03/25 00:53, 6F
→
03/25 09:04, , 7F
03/25 09:04, 7F
→
03/25 12:15, , 8F
03/25 12:15, 8F
→
03/25 12:19, , 9F
03/25 12:19, 9F
→
03/25 12:22, , 10F
03/25 12:22, 10F
→
03/25 12:23, , 11F
03/25 12:23, 11F
→
03/25 12:26, , 12F
03/25 12:26, 12F
→
03/25 12:28, , 13F
03/25 12:28, 13F
→
03/25 12:29, , 14F
03/25 12:29, 14F
→
03/25 12:30, , 15F
03/25 12:30, 15F
→
03/25 12:31, , 16F
03/25 12:31, 16F
→
03/25 12:31, , 17F
03/25 12:31, 17F
→
03/25 12:33, , 18F
03/25 12:33, 18F
→
03/25 16:46, , 19F
03/25 16:46, 19F
→
03/25 16:53, , 20F
03/25 16:53, 20F
→
03/25 16:59, , 21F
03/25 16:59, 21F
→
03/25 17:20, , 22F
03/25 17:20, 22F
→
03/25 17:22, , 23F
03/25 17:22, 23F
→
03/25 21:57, , 24F
03/25 21:57, 24F
→
03/25 21:59, , 25F
03/25 21:59, 25F
→
03/26 10:18, , 26F
03/26 10:18, 26F
→
03/26 10:21, , 27F
03/26 10:21, 27F
→
03/26 10:22, , 28F
03/26 10:22, 28F
→
03/26 10:23, , 29F
03/26 10:23, 29F
→
03/26 10:24, , 30F
03/26 10:24, 30F
import java.util.*;
public class Change {
public static void main(String[] args){
Stack st = new Stack();
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入欲轉換的正整數(十進位)");
int a = scanner.nextInt();
System.out.println("請輸入欲轉換進制(2~9)");
int b = scanner.nextInt();
while(a>=b){
//System.out.print(a%b);
int c = a/b;
//System.out.print(c);
st.push(a%b);
a = c ;
}
st.push(a%b);
System.out.print("轉換結果為:");
while(!st.isEmpty()) {
System.out.print(st.pop());
}
}
}
這是我的程式碼 try catch還沒做
還有哪些地方可以加強的嗎?
※ 編輯: bantime 來自: 122.117.11.103 (03/26 10:26)
→
03/26 10:27, , 31F
03/26 10:27, 31F
→
03/26 10:31, , 32F
03/26 10:31, 32F
推
03/26 10:36, , 33F
03/26 10:36, 33F
※ bantime:轉錄至看板 Sub_CS 03/28 02:58
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):