[問題] 數字轉字串
我在寫一個程式:輸入五位數,判斷是否為迴文
一剛開始,我把輸入的型態先設為字串
在方法中用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
04/19 18:16, 1F
→
04/19 18:23, , 2F
04/19 18:23, 2F
→
04/23 19:11, , 3F
04/23 19:11, 3F
→
04/23 19:14, , 4F
04/23 19:14, 4F