Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何读取整数数组中的单个3位数输入?_Java_Arrays_Swing - Fatal编程技术网

Java 如何读取整数数组中的单个3位数输入?

Java 如何读取整数数组中的单个3位数输入?,java,arrays,swing,Java,Arrays,Swing,我是一名高中java程序员(在c++方面有半经验),我的任务是读取3位数字并将其作为单词输出。如果我能单独输入每个数字,这个程序将是轻而易举的事,但我必须一次输入所有3个数字,并通过内置的轻快的swing窗口输入。我可以把输入作为int数组吗?我必须把它作为一个字符串,然后按位置将它解析到数组中,如果是,我该怎么做?是的,从输入中读取一行作为字符串,然后使用input.split(\\s+)。这将在任何空格字符处拆分,并返回一个字符串[]。然后需要使用Integer.parseInt解析每个数组

我是一名高中java程序员(在c++方面有半经验),我的任务是读取3位数字并将其作为单词输出。如果我能单独输入每个数字,这个程序将是轻而易举的事,但我必须一次输入所有3个数字,并通过内置的轻快的swing窗口输入。我可以把输入作为int数组吗?我必须把它作为一个字符串,然后按位置将它解析到数组中,如果是,我该怎么做?

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


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

然后

使用提取数字时使用的方法

暗示

数字%10是最后一位数字
数字/10从数字中删除最后一位数字

例如:

456%10=6
456/10=45

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

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

  • 使用
    textfield.getText()
  • 检查字符串是否仅包含3个字符且为整数
  • 键入将字符串转换为整数,并将其分解为
    100
    10
    one
    位置
  • 使用
    switch case
    if else
    打印特定单词
  • e、 g


    其余的逻辑将自己作为家庭作业来实现。

    明确实现:

    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';
    
    int数组[]=newint[3];
    字符串s=//3位数字
    对于(int i=0;i

    但我甚至会跳过中间整数数组,只使用字符。一个原因可能是这些数字与它们的英语表达不完全一致(比如“十一”、“十二”)。Switch语句仍将使用简单的字符。

    请阅读,代码生成器也一样,为了更好地帮助您,请尽快发布一个简短、可运行、可编译的语句,否则这个问题无法回答…等等,但用户不会在每个数字之间输入空格,例如,他们会输入234,每个数字之间没有空格。如果您确定需要三个一位数的整数,则可以跳过拆分步骤,只需使用
    int digit=input.charAt(i)-“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';