改写查询:使用循环和模数以正确的顺序输出数字
Rephrased Inquiry: Outputting Digits of Number in Correct Order Using Loops and Modulus
我之前发布的问题措辞不当,我深表歉意。这是我真正想要的:我必须创建一个 DigitsDisplay 应用程序,提示用户输入一个非负整数,然后在单独的行上显示每个数字。应列出数字,以便个位位于底部。我不知道这个数字会有多大。
示例:
12456
1
2
4
5
6
有谁知道如何使用循环和模数来做到这一点?没有花哨的东西只是一个简单的 while 语句。
这是我目前所拥有的:
int digit;
System.out.print("Enter a #: ");
digit = console.nextInt();
int count = 0;
while (digit != 0) {
count += 1;
digit = digit % 10;
System.out.println(digit);
}
但它不工作,我不知道如何让它工作。
将余数存储在一个 int 变量中,并在每次迭代中使用 /
更改您的数字。
您可以在 stack
中的每次迭代中推送余数,最后,您可以弹出所有项目。
int remainder=0;
Stack<Integer> stack = new Stack<Integer>();
while (digit != 0) {
count += 1;
remainder= digit % 10;
digit=digit/10;
stack.push(remainder);
}
while(!stack.isEmpty())
System.out.println(stack.pop());
如果你不想使用 Stack,你也可以使用递归来实现它。
public class test {
public static void main(String a1[]) {
int digit = 1234;
printData(digit);
}
public static void printData(int number) {
if (number == 0)
return;
int remainder = number % 10;
number = number / 10;
printData(number);
System.out.println(remainder);
}
}
我之前发布的问题措辞不当,我深表歉意。这是我真正想要的:我必须创建一个 DigitsDisplay 应用程序,提示用户输入一个非负整数,然后在单独的行上显示每个数字。应列出数字,以便个位位于底部。我不知道这个数字会有多大。
示例: 12456
1
2
4
5
6
有谁知道如何使用循环和模数来做到这一点?没有花哨的东西只是一个简单的 while 语句。 这是我目前所拥有的:
int digit;
System.out.print("Enter a #: ");
digit = console.nextInt();
int count = 0;
while (digit != 0) {
count += 1;
digit = digit % 10;
System.out.println(digit);
}
但它不工作,我不知道如何让它工作。
将余数存储在一个 int 变量中,并在每次迭代中使用 /
更改您的数字。
您可以在 stack
中的每次迭代中推送余数,最后,您可以弹出所有项目。
int remainder=0;
Stack<Integer> stack = new Stack<Integer>();
while (digit != 0) {
count += 1;
remainder= digit % 10;
digit=digit/10;
stack.push(remainder);
}
while(!stack.isEmpty())
System.out.println(stack.pop());
如果你不想使用 Stack,你也可以使用递归来实现它。
public class test {
public static void main(String a1[]) {
int digit = 1234;
printData(digit);
}
public static void printData(int number) {
if (number == 0)
return;
int remainder = number % 10;
number = number / 10;
printData(number);
System.out.println(remainder);
}
}