java - 将 5 位整数转换为列

标签 java

我必须编写一个程序,将 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

接下来,您可以通过...提取数字

  1. 除以 10 的幂以消除所需数字右侧的数字。
  2. 使用 % 运算符获取除以 10 的余数以提取最后一位数字。

关于java - 将 5 位整数转换为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19057423/

相关文章:

java - 为什么不能继承Interface

java - 如何序列化第三方不可序列化的最终类(例如谷歌的 LatLng 类)?

java - 从 HttpServletRequest 获取 XML 并用于端点

javamail 不工作。出现消息异常

java - 使用 Spring Security 时获取当前登录的用户名

java - 如何避免创建大量重载方法?

java - 从java中的文本文件中读取双输入

Java GroupLayout 实现

java - 如何打印类字段的值以及父类字段的值?

java - 为什么 Collections.binarySearch 输出不一致