我正在尝试创建一个小文本框,它接受输入,将其转换为int,然后以pi的值返回该索引。例如,如果我输入6,我希望返回9,因为3.14159的第六值是9。
到目前为止,这就是我所得到的,而且很有效,但是结果没有任何意义。
这是唯一感兴趣的领域(注:输入是int):
_tfield.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
input = Integer.parseInt(_tfield.getText());
_tfield.setText("Input: "+ input+" Output: "+ output(input));
}
private int output(int input) {
String pi = Double.toString(Math.PI);
return pi.charAt(input+1);对于输入"5“,我得到的答案是57,这没有任何意义,因为我要求它有一个字符值。更奇怪的是,如果我从charAt参数中删除+1,(并且仍然输入5),我将得到53。
我不知道出了什么问题,但我觉得自己喜欢它的charAt,因为它总是很难使用。然而,我可能错了,任何建议都会有帮助。谢谢。
发布于 2016-07-25 04:40:03
因为您的方法的返回类型是private int output(int input);,所以它返回字符的ascii值。
将返回类型更改为char以获得所需的输出。
https://stackoverflow.com/questions/38559760
复制相似问题