Я пытаюсь написать программу для отслеживания миль, которая отслеживает расстояние, которое пользователь проходит, бежит или плавает.Программа запрашивает ввод пользователем пройденного расстояния во время сеанса, сохраняет его в двойном размере, считывает данные из файла об общем количестве пройденного ранее расстояния, добавляет расстояние от последнего сеанса к прошлому итогу, чтобы создать новый итог,и записывает это общее количество в файл, где оно хранится для будущего использования.При написании кода среда IDE отображает ошибки на устройстве записи и сканирования, когда я пытаюсь указать их на файл:
Scanner reader = new Scanner(storage); //error at second Scanner
PrintWriter writer = new PrintWriter(storage); // error at second PrintWriter
ошибка читается как «FileNotFoundException»
при помещении вtry block, ошибка исчезает, и вместо этого программа печатает отчет об ошибке блока catch при запуске:
catch(FileNotFoundException e){
System.out.println("Check that the text file is in the correct directory.");
e.printStackTrace();
}
Это первая программа, которую я написал с использованием PrintWriter, поэтому некоторые указатели и объяснение того, что ябыло бы полезно сделать неправильно.
Вот полный код:
import java.io.File;
import java.io.PrintWriter;
import java.io.FileInputStream;
import java.util.Scanner;
import java.io.IOException;
import java.io.FileNotFoundException;
import java.lang.String;
public class Main {
public static void main(String[] args) {
//gets interval data from user
System.out.println("Please type the amount of miles walked.");
Scanner input = new Scanner(System.in);
double inMiles = input.nextDouble();
//creates file and scanner that reads to file
File storage = new File ("Mile Tracker//Mile.txt");
try {
storage.createNewFile();
}
catch(IOException e ){
System.out.println("File not created.");
}
try {
Scanner reader = new Scanner(storage);
//takes data from file and sets it to a variable
double Miles = reader.nextDouble();
double TotalMiles = Miles + inMiles;
//PrintWriter reader = new PrintWriter( file );
//PrintWriter that clears the file
/*PrintWriter clearwriter = new PrintWriter(storage);
clearwriter.print("");
clearwriter.close();
*/
PrintWriter writer = new PrintWriter(storage);
writer.print(TotalMiles);
writer.close();
}
catch(FileNotFoundException e){
System.out.println("Check that the text file is in the correct directory.");
e.printStackTrace();
}
}
}