1、编程输出整数8461的个位、十位、百位和千位数? 用java语言

2024-11-09 03:40:07
推荐回答(4个)
回答(1):

这里可以给LZ提供思路,其实用那种语言写并不重要。
总要的是思路。

8461,一共是4位,所以要把每一位取出来,就要使用除法“/”和取余数“%”的做法
第一步:
取出8(千位)这一位可以这样做:8461/1000=8
然后,8461-8×1000=461
第二步:
取出4(百位)461/100=4
然后,461-4×100=61
第三步:
取出6(十位)61/10=6
然后61-6×10=1(个位)

综合以上顺序则可以用如下方式来写程序:
int thousand; //千位
int hundred; //百位
int decade; //十位
int unit; //个位
final int number = 8561;

thousand = number/1000; // 8461/1000=8
hundred = (number - thousand*1000)/100; // (8461-8×1000=461)/100=4
decade = ((number - thousand*1000) - hundred*100)/10; //(461-400=61)/10=6
unit = number - thousand*1000 - hundred*100 - decade*10; //8461-8000-400-60=1
以上,是我用C语言的思路写出来的。当然用JAVA实现完全没问题,你把上面的每一位截取写入到方法中就可以引用了。

当然如果LZ如果嫌这个麻烦的话,还有总更加简便的方法,而且无论多少位都可以每一位取出来,方法如下:
首先get到你的数据8461(或者其他的),把这些转换成Char[]
然后把这些字符串以此存放至堆栈中,然后再根据需要以此取出便可以。

至于具体实现方法,请自己研究吧。

回答(2):

package com.xiaohe_mr.digit;

import java.util.Scanner;

/*两种思路:
1.对四位数取余10,再将该四位数除以10;
2.将四位数转化为字符串,再将该字符串转化为字符数组
无论哪种思路都需要先对输入的对象进行检查
*/
public class Digit {

public static void main(String[] args) {

Scanner scan=new Scanner(System.in);//读取键盘输入
Operation opera=new Operation();
System.out.print("请输入一个四位数 : ");
int num=opera.checkNum(scan);
int[] number=opera.getNum(num);//针对第一种思路
char[] numbers=opera.getNumber(num);//针对第二种思路
String[] digitCN=;
for(int i=0;iSystem.out.println(digitCN[3-i]+"位为:"+number[3-i]+"('"+numbers[i]+"')");
}

}
}

class Operation{
public int checkNum(Scanner scan){
int num=0;
try {
num=Integer.parseInt(scan.next());
} catch (Exception e) {
//输入的不是数字,此时程序继续向下执行,num此时为0
}
/*超过四位或者是负数
只要上面两种情况其中一种发生都要重新输入*/
if(num<=0||num>9999){
System.out.print("请输入正确的四位整数:");
num=checkNum(scan);
}
return num;
}
/*采用第一种思路*/
public int[] getNum(int num){
int[] number=new int[4];
for(int i=0;i<4;i++){
number[i]=num%10;
num/=10;
}
return number;

}
/*采用第二种思路*/
public char[] getNumber(int num){
String number=num+"";
char[] numbers =number.trim().toCharArray();
return numbers;
}
}

回答(3):

我就不那么多废话了,直接给你最直观的东西
public static void main(String[] args) {
int num= 8461;
System.out.println("个:"+num%10);
System.out.println("十:"+num%100/10);
System.out.println("百:"+num%1000/100);
System.out.println("千:"+num%10000/1000);
}

回答(4):

用求余数做