2016-03-10 4 views
0

У меня есть эта проблема, когда мой код отлично работает в последней версии Java, но не на моих компьютерах в колледже, потому что они находятся на более раннем Java API (не в старой, но не последней версии). Вот код и моя задача:Написание текстового файла в java

'Напишите программу, которая принимает в качестве ввода число n и текстовое имя файла строки и записывает n строк в файл, где каждая строка имеет форму: i: sqrt (i) sqrt (i) sqrt (i). Первый столбец варьируется от 1..n, тогда как первый квадратный корень равен одному десятичному знаку, второй - до двух знаков после запятой, а третий - до трех знаков после запятой. '

import java.io.BufferedWriter; 
import java.io.FileWriter; 
import java.io.IOException; 

public class CSLab5 { 
    public static void writeFile(final String filePath, final int n) throws IOException { 
     String path = filePath.concat("file.txt"); 
      try (BufferedWriter writer = new BufferedWriter(new FileWriter(path))) { 
      final String format = "%-10s %-10.1f %-10.2f %-10.3f %n"; 
      for(int i=1;i<=n;i++){ 
       final double root = Math.sqrt(i); 
       writer.write(String.format(format,i+":",root ,root,root)); 
      } 
     } 
    } 
} 

Я не уверен, как я могу изменить код, Я получаю ошибки в заявлении try. thanks

+0

Если вы запустите этот код в компьютерном колледже, какую ошибку вы получите? –

+2

Вы забыли закрыть писателя – Eva

+0

Я получаю ошибку только в заявлении try. – Mark

ответ

0
try (BufferedWriter writer = new BufferedWriter(new FileWriter(path))) 

Это попытка использовать ресурс 1.8. Измените его так, чтобы он работал в старой версии.

try { 
    BufferedWriter writer = new BufferedWriter(new FileWriter(path) 
} 

Также добавьте улов или, наконец, блок.

Но для проблемы с версией проблемы попробуйте с ресурсом

+1

Не забудьте закрыть запись в блоке finally –

+0

Мы не можем закрыть запись в блоке finally, поскольку она объявлена ​​внутри блока try. Это дает ошибку компиляции ** автор не может быть разрешен ** –

+0

См. Https://docs.oracle.com/javase/tutorial/essential/exceptions/putItTogether.html –