如何将int数组作为单个3位数输入读入?

时间:2012-11-08 12:45:47

标签: java arrays swing

我是一名高中java程序员(半经验丰富的c ++),我分配了一个3位数的读数并输出为单词。如果我可以单独输入每个数字这个程序将是轻而易举的,但我必须同时接受所有3个,并通过内置的微风摇摆窗口输入。我可以将输入作为int数组吗?我必须把它作为一个字符串,然后解析一下位置如何位置到数组中,如果是这样,我该怎么办?

4 个答案:

答案 0 :(得分:2)

您可以接受该号码仅作为int

然后

使用我们在提取数字时使用的方法

提示

  

数字%10是最后一位数字
  number / 10从数字

中删除最后一位数字

例如:

  

456%10 = 6
   456/10 = 45

     然后45%10 = 5
      45/10 = 4

     然后4%10 = 4
   4/10 = 0

答案 1 :(得分:1)

是的,从输入中读取一行作为字符串,然后使用input.split("\\s+")。这将在任何空白字符处拆分并返回String[]。然后,您需要使用Integer.parseInt解析每个数组元素。

另一方面,如果您确实需要三个不用空格分隔的单位数int,那么您可以跳过split步骤并使用int digit = input.charAt(i) - '0'

答案 2 :(得分:0)

  1. 使用JTextField
  2. textfield.getText()获取输入
  3. 检查字符串是否仅包含3个字符并且是整数。
  4. 将字符串类型转换为整数,并将其细分为hundredtenones处。
  5. 使用switch-caseif-else打印特定字词。
  6. 如,

    int hundred = Integer.parseInt(textField.getText().substring(0,1));
    int ten = Integer.parseInt(textField.getText().substring(1,2));
    int ones = Integer.parseInt(textField.getText().substring(2,3));
    switch(hundred){
        case 1: System.out.print("One hundred ");
        break;
        case 2: System.out.print("Two hundred ");
        break;
        //similarly for rest of the numbers
    }
    

    其余的逻辑将你自己作为一个功课。

答案 3 :(得分:0)

明确实施:

int array[] = new int[3];
String s = //the 3 digit number
for(int i = 0; i < s.length(); i++)
    array[i] = s.charAt(i) - '0';

但我甚至会跳过中间的整数数组,只使用这些字符。一个原因可能是这些数字并不完全符合他们的英语表示(如“十一”,“十二”)。切换语句对于字符仍然很简单。