import java.util.Scanner;
public class Digits {
public static void main(String[] args) {
/*
*
count = 1
temp = n
while (temp > 10)
Increment count.
Divide temp by 10.0.
*/
//Assignment: fix this code to print: 1 2 3 (for 123)
//temp = 3426 -> 3 4 2 6
Scanner input = new Scanner(System.in);
System.out.print("Enter an integer: ");
int count = 1;
int temp = input.nextInt();
while(temp >= 10){
count++;
temp = temp / 10;
System.out.print(temp + " ");
}
}
}
需要修复代码的帮助。示例:当你键入123时,它变成123。
3条答案
按热度按时间7lrncoxx1#
你的代码每次都是除以10,这可以用来反向打印值。要向前打印它,你需要一个包含对数的位more math。有时像这样,
或者,读取一行输入。去掉所有非数字,然后打印每个字符,用空格隔开。例如,
oug3syen2#
你的大部分代码都是正确的,你要做的是除以10,然后打印出值--这可能应该是一个取模运算
%
,以获得运算的余数并打印出来--但这是一个很好的思考方式。尽管如此。
您可以只使用一个字符串,然后在每个字符上拆分该字符串
mitkmikd3#
您可以使用以下单行代码来单独回答您的问题。
输出为:1 2 3