[問題] 數字轉字串

看板java作者 (小朱)時間13年前 (2011/04/19 11:33), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/1
我在寫一個程式:輸入五位數,判斷是否為迴文 一剛開始,我把輸入的型態先設為字串 在方法中用Interger.parse()把它變數字就可以運算 最後用%s就可以輸出一開始輸入的字串 => 如果輸入00200 會印出00200 後來,我把輸入的型態設為數字,然後運算 在方法中用String.valueOf()再把它變字串輸出 => 輸入00200 只會印出200 WHY?WHY?WHY??????? 應該都可以的不是嗎嗎嗎嗎嗎??? [主程式] import java.util.Scanner; public class mainTest { public static void main(String[] args) { Test application=new Test(); System.out.printf("請輸入您的姓名:\n"); Scanner name = new Scanner(System.in); String rname = name.nextLine(); System.out.printf("請輸入一組五位數的數字:\n"); Scanner num = new Scanner(System.in); int rnum = num.nextInt(); application.palindrome(rname,rnum); } } [方法] public class Tset { public void palindrome(String rname, int rnum) { int a,b,d,e; String strrnum = String.valueOf(rnum); a = rnum/10000; b = (rnum/1000)%10; d = (((rnum%10000)%1000)%100)/10; e = (((rnum%10000)%1000)%100)%10; if (a==e && b==d) System.out.printf("%s 您好,您輸入的%s 是迴文!",rname, strrnum); else System.out.printf("%s 您好,您輸入的%s 不是迴文!",rname, strrnum); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.118.156

04/19 18:16, , 1F
你一開始如果就用int 去定義的話 他會自動幫你把前面0
04/19 18:16, 1F

04/19 18:23, , 2F
省略
04/19 18:23, 2F

04/23 19:11, , 3F
int rnum = num.nextInt(); 這裡就宣告是int了
04/23 19:11, 3F

04/23 19:14, , 4F
要不然用String.format("%05d", rnum)試試看 有點忘了...
04/23 19:14, 4F
文章代碼(AID): #1DhGAVbk (java)