Java 如何读取整数数组中的单个3位数输入?
我是一名高中java程序员(在c++方面有半经验),我的任务是读取3位数字并将其作为单词输出。如果我能单独输入每个数字,这个程序将是轻而易举的事,但我必须一次输入所有3个数字,并通过内置的轻快的swing窗口输入。我可以把输入作为int数组吗?我必须把它作为一个字符串,然后按位置将它解析到数组中,如果是,我该怎么做?是的,从输入中读取一行作为字符串,然后使用Java 如何读取整数数组中的单个3位数输入?,java,arrays,swing,Java,Arrays,Swing,我是一名高中java程序员(在c++方面有半经验),我的任务是读取3位数字并将其作为单词输出。如果我能单独输入每个数字,这个程序将是轻而易举的事,但我必须一次输入所有3个数字,并通过内置的轻快的swing窗口输入。我可以把输入作为int数组吗?我必须把它作为一个字符串,然后按位置将它解析到数组中,如果是,我该怎么做?是的,从输入中读取一行作为字符串,然后使用input.split(\\s+)。这将在任何空格字符处拆分,并返回一个字符串[]。然后需要使用Integer.parseInt解析每个数组
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()
100
、10
和one
位置switch case
和if else
打印特定单词其余的逻辑将自己作为家庭作业来实现。明确实现:
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';