2013-04-25 28 views
0

好的,所以我有這個非常簡單,非常低效的程序,但是沒關係,我想知道的唯一方法是如何在不更改ssn1到ssn5的值的情況下將隊列的前五個數字打印爲零。如何從整數隊列轉換爲字符串?

例如,我想打印000001111而不是111111111,但仍將這些值存儲在隊列中。有人可以幫助我嗎?我只是想隱藏它們。

我想將隊列的整數轉換爲一個字符串,創建一個子字符串,然後打印dummyint五次,然後是子字符串。

import java.util.*; 

public class SSNQueue { 
public static void main (String args[]) { 

    Scanner scan = new Scanner(System.in); 
    Queue<Integer> ssn = new LinkedList<Integer>(); 

    int Dummyssn = 0; 

    System.out.println("Please enter each digit number of SSN"); 

    System.out.print("Enter digit number 1: "); 
    int ssn1 = scan.nextInt(); 
    System.out.print("Enter digit number 2: "); 
    int ssn2 = scan.nextInt(); 
    System.out.print("Enter digit number 3: "); 
    int ssn3 = scan.nextInt(); 
    System.out.print("Enter digit number 4: "); 
    int ssn4 = scan.nextInt(); 
    System.out.print("Enter digit number 5: "); 
    int ssn5 = scan.nextInt(); 
    System.out.print("Enter digit number 6: "); 
    int ssn6 = scan.nextInt(); 
    System.out.print("Enter digit number 7: "); 
    int ssn7 = scan.nextInt(); 
    System.out.print("Enter digit number 8: "); 
    int ssn8 = scan.nextInt(); 
    System.out.print("Enter digit number 9: "); 
    int ssn9 = scan.nextInt(); 

    ssn.add(ssn1); 
    ssn.add(ssn2); 
    ssn.add(ssn3); 
    ssn.add(ssn4); 
    ssn.add(ssn5); 
    ssn.add(ssn6); 
    ssn.add(ssn7); 
    ssn.add(ssn8); 
    ssn.add(ssn9); 

    Integer.toString(ssn); 
    String Subssn = ssn.substring(5); 

    System.out.println("The SSN is:" + ssn); 
    System.out.println("The last four digits of the SSN are:" + Dummyssn + Dummyssn + Dummyssn + Dummyssn + Dummyssn + Subssn); 
    } 
} 

回答

0

這裏有幾個問題使得它不清楚你正在嘗試做什麼。首先,您讀入多個int值(ssn1,ssn2 ... ssn9),然後將它們添加到隊列中。然後您調用Integer.toString(ssn)。 。 。我希望在這一行上有錯誤。看起來你想要做的是使用循環來讀取隊列中的值,每次將它們分配給一個臨時的String變量,然後調用臨時變量的子串函數並打印出結果。就像現在一樣,你正在調用整個隊列中的Integer.toString(ssn),我不認爲它會做你想做的。隊列仍然輸入爲整數(隊列)。更不用說toString方法返回一個你應該讀入另一個變量或在你調用它時使用的值。像這樣調用它自己的行並沒有真正達到任何效果,因爲即使它返回了一些值,它也不會被代碼保留以備後用。

+0

是的,這看起來像我會做,但我不知道如何做到這一點。就像是? for(String ssn:queue){ System.out.println(ssn.toString()); } – user2155190 2013-04-25 15:04:48

+0

等待,我不能只從隊列中刪除前五個,用零替換它們,然後打印? – user2155190 2013-04-25 15:19:22