2011-03-01 140 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方法在其他的一个答案。