我正在创建一个程序,它将打印出用户指定数字的pi数字。我可以读取来自用户的输入,我可以读取文本文件,但是当我打印数字的位数时,它会打印出错误的数字。无法打印出读取整数:java
“Pi.txt”包含“3.14159”。 这里是我的代码:
package pireturner;
import java.io.*;
import java.util.Scanner;
class PiReturner {
static File file = new File("Pi.txt");
static int count = 0;
public PiReturner() {
}
public static void readFile() {
try {
System.out.print("Enter number of digits you wish to print: ");
Scanner scanner = new Scanner(System.in);
BufferedReader reader = new BufferedReader(new FileReader(file));
int numdigits = Integer.parseInt(scanner.nextLine());
int i;
while((i = reader.read()) != -1) {
while(count != numdigits) {
System.out.print(i);
count++;
}
}
} catch (FileNotFoundException f) {
System.err.print(f);
} catch (IOException e) {
System.err.print(e);
}
}
public static void main(String[] args) {
PiReturner.readFile();
}
}
这会打印出“515151”,如果作为他们希望打印的位数用户输入3。我不知道它为什么这样做,我不确定我做错了什么,因为没有错误,我已经测试了阅读方法并且工作正常。任何帮助将很乐意欣赏。提前致谢。
顺便说一下,将整数'i'转换为char将打印出333(假设输入为3)。
。 – Mesop 2012-05-26 07:58:28