我需要帮助编写一个Java程序,该程序会提示用户输入一个数字,而不是使用if
或while
语句添加每个数字。
例如:我输入987
。程序应该说这个数字有3位数,并将每个数字乘以它的小数位。
9*100
8*10
7*1
这是我的代码到目前为止,我认为我走的是正确的道路,但不知道从哪里开始。
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.print("Please enter number");
int x;
x= keyboard.nextInt();
for(int i=1;i<=20;i++){
System.out.print(x/1);
System.out.print(x/10);
System.out.print(x/100);
System.out.print(x/1000);
System.out.print(x/10000);
System.out.print(x/100000);
}
}
}
答案 0 :(得分:0)
您可以这样做以提取每个数字:
System.out.println((x%100000) / 10000);
System.out.println((x%10000) / 1000);
System.out.println((x%1000) / 100);
System.out.println((x%100) / 10);
System.out.println(x%10);
因此,如果输入567,输出将为:
0
0
5
6
7
你可以从那里做的是int total
并将每一个相乘并将其加到总数中。
要获得int大小,请查看以下链接:
答案 1 :(得分:0)
不是使用大分区,而是可以使用mod和division来获取for循环中的每个数字,如下所示:
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.print("Please enter number");
int x;
int a=0, result=1;
for(int i = keyboard.nextInt(); i!=0; a=i%10, i/=10)
result*=a;
System.out.println(result);
}