使用if-else语句编写一个JAVA应用程序,用户从命令行输入一个1到99999之间的整数,程序将判断这个数是几位数,并判断这个输是否是回文数
可用int型变量d5,d4,d3,d2,d1分别保存这个数的每一位分数,当这个数不到5位时,则d5=0,一次类推,先判断这个数是第几位数,再判断是否回文数
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
System.out.println("请输入数字!");
Scanner sc = new Scanner(System.in);
int number = Integer.parseInt(sc.next());
int weishu=0;
int d5=0,d4=0,d3=0,d2=0,d1=0;
if(number>1 && number<99999){
d1 = number%10;
weishu = 1;
System.out.println("d1="+d1);
if(number/10!=0){
d2 = number/10%10;
weishu = 2;
System.out.println("d2="+d2);
}
if(number/100!=0){
d3 = number/100%10;
weishu = 3;
System.out.println("d3="+d3);
}
if(number/1000!=0){
d4 = number/1000%10;
weishu = 4;
System.out.println("d4="+d4);
}
if(number/10000!=0){
d5 = number/10000%10;
weishu = 5;
System.out.println("d5="+d5);
}
if(d5!=0){
if(number==(d1*10000+d2*1000+d3*100+d4*10+d5)){
System.out.println("这个数是回文数!");
}
}else if(d5==0 && d4!=0){
if(number==(d1*1000+d2*100+d3*10+d4)){
System.out.println("这个数是回文数!");
}
}else if(d5==0 && d4==0 && d3!=0){
if(number==(d1*100+d2*10+d3)){
System.out.println("这个数是回文数!");
}
}else if(d5==0 && d4==0 && d3==0 && d2!=0){
if(number==(d1*10+d2)){
System.out.println("这个数是回文数!");
}
}
System.out.println("这是"+weishu+"位数");
}else{
System.out.println("你输入的数字不在1~99999之间!");
}
}
}
能用我提问的那个标准吗,因为是要求,不太会,求解
追答按照你的要求,编写的Java程序如下:
import java.util.Scanner;
public class HuiWenShu {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入一个1到99999之间的整数:");
int number=sc.nextInt();
if(number99999){
System.out.println(number+"超出范围");
}else{
int weishu=weishu(number);
System.out.println(number+"是"+weishu+"位数");
boolean huiwenshu=huiwenshu(number,weishu);
if(huiwenshu)
System.out.println(number+"是回文数");
else
System.out.println(number+"不是回文数");
}
}
public static int weishu(int number) {
int weishu=0;
int d1=number%10;
int d2=number/10%10;
int d3=number/100%10;
int d4=number/1000%10;
int d5=number/10000%10;
if(d5!=0){
weishu=5;
}else if(d5==0 && d4!=0){
weishu=4;
}else if(d4==0 && d3!=0){
weishu=3;
}else if(d3==0 && d2!=0){
weishu=2;
}else if(d2==0 && d1!=0){
weishu=1;
}
return weishu;
}
public static boolean huiwenshu(int number,int weishu) {
boolean huiwenshu =false;
int d1=number%10;
int d2=number/10%10;
int d3=number/100%10;
int d4=number/1000%10;
int d5=number/10000%10;
if(weishu==1){
huiwenshu=false;
}else if(weishu==2 && d1==d2){
huiwenshu=true;
}else if(weishu==3 && d1==d3){
huiwenshu=true;
}else if(weishu==4 && d1==d4 && d2==d3){
huiwenshu=true;
}else if(weishu==5 && d1==d5 && d2==d4){
huiwenshu=true;
}
return huiwenshu;
}
}
使用if-else语句编写一个JAVA应用程序,用户从命令行输入一个1到99999...
public static void main(String[] args) { System.out.println("请输入数字!");Scanner sc = new Scanner(System.in);int number = Integer.parseInt(sc.next());int weishu=0;int d5=0,d4=0,d3=0,d2=0,d1=0;if(number>1 && number<99999){ d1 = number%10;weishu = 1;Syst...
用JAVA编写任意从键盘输入一个0到99999之间的数字判断输入的是几...
import java.util.Scanner;public class Test { public static void main(String[] args) { Scanner in = new Scanner(System.in);System.out.print("输入0—99999之间的任意数:");int n;n = in.nextInt();int b = Integer.toString(n).length();System.out.println("你输入的数字位数为...
java 自定义一个整数,计算它是几位数?
\/ Title:输入一个0到99999之间的数,判断是几位数 \/ import java.io.*;public class bit { public static void main(String[] args)throws IOException { \/\/ bit bit = new bit();System.out.print("please input a number between(0-99999) ");BufferedReader reader=new BufferedReader...
从控制台输入任意4位整数,输出该数字的各位数字之和。(java编程)
System.out.println("请输入一个4位自然数:");if(scanner.hasNext("[1-9]\\\\d{3}?")){ int x = Integer.parseInt(scanner.next());System.out.println(x\/1000 + (x\/100 % 10) + (x\/10 %10) + (x %10));} else { System.err.println("去冲个冷水澡清醒一下吧!");} scan...
在Java中怎么把1到9999的数字转成 4位字符串,左边补0 如 0001 0002 00...
public static void main(String[] args) { \/\/在Java中怎么把1到9999的数字转成 4位字符串,左边补0 如 0001 0002 0003 System.out.println("请输入一个1-9999之间的数字:");Scanner s = new Scanner(System.in);String str = s.next();char[] ary1 = str.toCharArray();char[] ary2...
用JAVA循环语句计算1+3-5+7-9+11-13...+9999=怎么写?
\/\/ 计算1+3-5+7-9+11-13...+9999的累加和 public static void main(String[] args) { int total = 0;for (int i = 1; i <= 9999; ++i) { \/\/ 奇数项进行累加 if (i % 2 == 1) { \/\/ 每四个数为一组,第一组减去,后续组加 if (i % 4 == 1) { total -= i;}...
1到9999中有多少个数带9
下面是我编程计算的,专门给你拿java写的程序,执行结果为4000,也就是说1到9999中有4000个数带9既然程序已经编好了,就附带说一下别的结论。1到999中有300个数带91到99中有20个数带91到9中有1个数带9其实不编程序也很简单。1--9中有1个,10--90有9个91-99有10个,那么1--100有20个希望你能看明白...
如何写java产生一个随机8位的数
java产生一个随机8位的数:StringBuilder str=new StringBuilder();\/\/定义变长字符串Random random=new Random();\/\/随机生成数字,并添加到字符串for(int i=0;i<8;i++){str.append(random.nextInt(10));}\/\/将字符串转换为数字并输出int num=Integer.parseInt(str.toString());System.out....
Java中怎么限制输入的数只能是四位,从0000到9999
用正则表达式!!例如:Sting str =textfield.getText();if (str.matchs(\\\\d{4}))\/表示符合条件 ……
Java 编写程序实现给一个不多于5位的正整数,求它是几位数,并且逆序打印...
public static void convert(int num) {if (num < 0) {System.out.println("输入一个正整数!");return;}\/\/ 求位数int step = 1;int result;int temp = 10;while (true) {result = num \/ temp;if (result > 0) {temp *= 10;step++;} else {System.out.println("位数:" + ...