0
我想要做的是讓我的程序從文件而不是標準控制檯輸入讀取輸入測試用例並將輸出寫回到另一個文件。 這裏談到的問題發揮作用,如果我嘗試使用文件時,它顯示顯示java.lang.NullPointerException給輸入,但在另一方面給予正確的輸出,如果我想給定製的標準輸入(使用cmd)並將輸出打印到文件。從文件讀取標準(控制檯)輸入並將輸出打印到其他文件
這裏是我的示例程序:
public class Roman
{
static private final String INPUT = "Q4.in";
static private final String OUTPUT = "Q4.out";
// open I/O files
public static void main(String[] args)
{
FileInputStream instream = null;
PrintStream outstream = null;
try {
instream = new FileInputStream(INPUT);
outstream = new PrintStream(new FileOutputStream(OUTPUT));
System.setIn(instream);
System.setOut(outstream);
} catch (Exception e) {
System.err.println("Error Occurred.");
}
int i;
Scanner sc=new Scanner(System.in);
int T=sc.nextInt();
Num2Rom[] tc=new Num2Rom[T];
for(i=0;i<T;i++)
{ tc[i]=new Num2Rom(); }
System.out.println(T+"\n");
for(i=0;i<T;i++)
{ tc[i].display(i+1); }
}
}
和
ArrayList<String> wordList;
Num2Rom()
{
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String numeral = sc.nextLine();
System.out.println("print"+numeral);
numeral = numeral.toUpperCase();
String[] words = numeral.split(" ");
wordList = new ArrayList<>(Arrays.asList(words)); }
}
輸入的格式爲:
2
Eight
Twenty