作者nuyao73 (小朱)
看板java
标题[问题] 数字转字串
时间Tue Apr 19 11:33:48 2011
我在写一个程式:输入五位数,判断是否为回文
一刚开始,我把输入的型态先设为字串
在方法中用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
1F:→ kevin771012:你一开始如果就用int 去定义的话 他会自动帮你把前面0 04/19 18:16
2F:→ kevin771012:省略 04/19 18:23
3F:→ mrker:int rnum = num.nextInt(); 这里就宣告是int了 04/23 19:11
4F:→ mrker:要不然用String.format("%05d", rnum)试试看 有点忘了... 04/23 19:14