2011-03-01 432 views
0

我已經開始了一些代碼,我希望能夠輸入不超過五個數字的數字,並且返回結果會在每個數字之間放置5個空格。因此,例如我可以輸入12345,然後框輸出將顯示1 2 3 4 5. 因此,首先我需要能夠只輸入5個數字,其次每個之間需要5個空格。用戶輸入和輸出

String number; 
int number1; 

number = JOptionPane.showInputDialog("Enter Number"); 
number1 = Integer.parseInt(number); 

JOptionPane.showMessageDialog(null,"Th… new result is" + number1,"Results", 
JOptionPane.PLAIN_MESSAGE); 
System.exit(0); 

感謝

+0

聽起來像家庭作業。如果這是作業,請標記爲這樣。 – Zoe 2011-03-01 19:52:19

回答

0

我並沒有完全明白你的意思,但我認爲它會做你想做的事!

public static void main(String [] args) 
    { 
     String number; 
     number = JOptionPane.showInputDialog("Enter Number"); 
     int b = number.length() ; 
     char [] a = new char [number.length() ] ; 
     for (int i = 0 ; i < number.length() ;i++) 
      a[i] = number.charAt(i) ; 
     for (int i = 0 ; i < a.length ; i++) 
      { 
       number += (a[i]); 
       number += ' ' ; 
      } 
     number = number.substring(b) ; 
     JOptionPane.showMessageDialog(null,"Th… new result is" + ' ' + number,"Results", 
       JOptionPane.PLAIN_MESSAGE) ; 
     System.exit(0); 
    } 
+0

工作很好,它確實是我想要的。 – Mike 2011-03-07 19:27:31

0

首先是沒有必要的輸入,轉換爲int,因爲你不使用它的任何數值計算。你的問題的第一部分很容易用if語句解決。

if (number.length() > 5) ... 

對於第二部分,我想有很多好辦法做到這一點,而且很可能一些圖書館爲好,但我想出了:

public static String addSpace(String s){ 
    StringBuilder result = new StringBuilder(); 
    for (char c : s.toCharArray()) 
     result.append(c).append(' '); 
    return result.toString(); 
} 

所以你打電話用數字作爲參數的addSpace方法。

+0

這個java編碼對我來說是新的,我將如何將它構建到我說的代碼中? – Mike 2011-03-01 20:20:26

+0

假設您的代碼位於主函數中,您必須將該方法放在其外部,但仍在同一個類中。現在你可以像這樣調用這個方法:number = addSpace(number);在你的代碼中,這個調用將代替number1 = Integer.parseInt(number);線。 – Hjalmar 2011-03-01 20:42:27

0

使用JOptionPane.showInputDialog(...)沒有辦法來驗證在運行中輸入(即檢查它僅包含數字和只有5個字符長),你就必須做它在用戶發送之後,如果它不是有效的,則拋出一個新的對話框。它的工作原理並不是最好的方式。也許您應該考慮編寫一個自定義對話框,使用添加到對話框的輸入文本字段中的DocumentListener來驗證輸入。你可以閱讀它here(ctrl-f CustomDialog)。

如果你認爲是手頭的任務過於複雜,這可能是一個很好的辦法做節目 - 驗證 - showagainifinvalid東西:

private String showInputDialog() 
{ 
    String inputValue = JOptionPane.showInputDialog("Please input 5 numbers from 0-9"); 

    if(inputValue == null || inputValue.isEmpty() || !inputValue.matches("[0-9]{5}")) 
    { 
     inputValue = showInputDialog(); 
    } 

    return inputValue; 
} 

然後使用addSpace方法在其他的一個答案。