将5位整数转换为列

时间:2013-09-27 18:12:10

标签: 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); 
}
}

2 个答案:

答案 0 :(得分:2)

首先,Double没有parseInt方法。它有parseDouble,用于将String解析为double。但是你已经有double

接下来,您可以通过...

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

答案 1 :(得分:0)

 import java.util.Scanner; //load scanner
 public class digitseparator
 {
    public static void main(String[] args)
    {
       Scanner in = new Scanner(System.in);
       int arr[] = new int[5];
       System.out.println("Enter a five-digit integer: ");
       int d =in.nextInt();
       String name = Integer.toString(d);
       System.out.println(name);
       for(int i=0;i<5;i++)
       {
      arr[i] = d%10;
      d = d/10; 
       }
       for(int k=0;k<5;k++)
       {
        System.out.println(arr[k]);
       }
       System.out.println("String method Solution");
       for(int m=0;m<5;m++)
       {
         System.out.println(name.charAt(m));
       }  
     }
   }

希望这是你想要的