我必须编写一个程序,将 5 位整数(例如 12345 或 00005)转换为一列,在单独的行上显示每个单独的数字。我被要求使用两种不同的方法,数学方法和字符串方法。虽然字符串方法没有给我带来任何问题,但我在使用数学方法单独提取每个数字时遇到了麻烦。到目前为止,这是我的代码。
import java.util.Scanner; //load scanner
public class digitseparator{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("Enter a five-digit integer: ");
String name = in.nextLine();
double n = in.nextDouble();
double ffthdgt = Double.parseInt((double)n%10000);
double frthdgt = Double.parseInt((double)n%1000);
double thrddgt = Double.parseInt((double)n%100);
double scnddgt = Double.parseInt((double)n%10);
double frstdgt = Double.parseInt((double)n%1);
System.out.println(frstdgt);
System.out.println(scnddgt);
System.out.println(thrddgt);
System.out.println(frthdgt);
System.out.println(ffthdgt);
System.out.println("String method Solution");
char frst = name.charAt(0);
System.out.println(frst);
char scnd = name.charAt(1);
System.out.println(scnd);
char thrd = name.charAt(2);
System.out.println(thrd);
char frth = name.charAt(3);
System.out.println(frth);
char ffth = name.charAt(4);
System.out.println(ffth);
}
}
最佳答案
首先,Double
没有 parseInt
方法。它有 parseDouble
,旨在将 String
解析为 double
。但你已经有了一个double
。
接下来,您可以通过...提取数字
- 除以 10 的幂以消除所需数字右侧的数字。
- 使用
%
运算符获取除以 10 的余数以提取最后一位数字。
关于java - 将 5 位整数转换为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19057423/