2013-09-27 120 views
1

我必須編寫一個程序,將一個5位數的整數(如12345或00005)轉換爲顯示各行獨立數字的列。我被要求使用兩種不同的方法,一種數學方法和字符串方法。雖然字符串方法並沒有給我帶來任何問題,但我無法單獨使用數學方法將每個數字都拉出來。這是我迄今爲止的代碼。將5位整數轉換爲列

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); 
} 
} 
+0

你有問題嗎?任何錯誤消息?什麼? –

+0

收到一個使用模數的提示,例如123%10 = 3,表示有三個。然後,如果你除以10(使用整數),你會得到12,這將刪除3. – user2820438

+0

你認爲上面的'%'東西有什麼想要做的?你只是從某個地方複製它而不理解它。 –

回答

2

首先,Double沒有parseInt方法。它有parseDouble,這意味着將String解析爲double。但是你已經有了double

接下來,您可以10的冪提取由...

  1. 分割位,以消除數字到期望的數字的權利。
  2. %運算符爲餘數除以10來提取最後一位數字。
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)); 
     } 
    } 
    } 

希望這是你想要的