【发布时间】:2016-02-14 13:15:20
【问题描述】:
我编写了以下代码,该程序的目的是让用户输入一个数字,即 123,程序将垂直输出为 1 2 3。不管我做什么,我的程序都是 3 2 1。我需要在这个程序中使用一个循环,我似乎无法弄清楚。
import java.util.Scanner;
public class DigitsDisplay {
public static Scanner console = new Scanner(System.in);
public static void main(String[] args) {
int a = getInt("Give a non-negative integer: ");
double backwards = 0;
int reverse;
int numOfDigits = numOfDigits(a);
double place = Math.pow(10, numOfDigits);
while (a != 0) {
reverse = a % 10;
backwards = backwards + place * reverse;
System.out.println(reverse);
a = a / 10;
}
}
public static int getInt(String prompt) {
int input;
System.out.print(prompt);
input = console.nextInt();
return input;
}
public static int numOfDigits(int a) {
int numOfD = (int)(Math.log10(a)) + 1;
return numOfD;
}
}
【问题讨论】:
标签: java loops methods while-loop