我是一名高中java程序员(半经验丰富的c ++),我分配了一个3位数的读数并输出为单词。如果我可以单独输入每个数字这个程序将是轻而易举的,但我必须同时接受所有3个,并通过内置的微风摇摆窗口输入。我可以将输入作为int数组吗?我必须把它作为一个字符串,然后解析一下位置如何位置到数组中,如果是这样,我该怎么办?
答案 0 :(得分:2)
您可以接受该号码仅作为int
然后
使用我们在提取数字时使用的方法
提示
数字%10是最后一位数字
中删除最后一位数字
number / 10从数字
例如:
456%10 = 6
然后45%10 = 5
456/10 = 45
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)
JTextField
textfield.getText()
获取输入
hundred
,ten
和ones
处。switch-case
和if-else
打印特定字词。如,
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';
但我甚至会跳过中间的整数数组,只使用这些字符。一个原因可能是这些数字并不完全符合他们的英语表示(如“十一”,“十二”)。切换语句对于字符仍然很简单。