Итак, я столкнулся с другой проблемой с моим кодом. То, что я хочу сделать, это иметь возможность выводить различные записи, введенные пользователем. Я также хочу, чтобы все указанные записи выводились в файл .txt. Я буду использовать это для Microsoft Excel позже. Это мой код:
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import java.text.*;
import java.io.*;
public class Project1{
public static void main(String[] args) throws FileNotFoundException
{
String fileName = "out.txt";
try {
Scanner keyboard = new Scanner(System.in);
Scanner user_input = new Scanner(System.in);
Scanner scan = new Scanner(System.in);
PrintWriter outFile = new PrintWriter("Project1.out");
String employee_Fname;
String employee_Lname;
String employee_city;
String employee_state;
double empzip;
String employee_job;
double empsal;
char again;
int count = 1;
String answer;
do {
System.out.print("Enter Employees First Name: ");
employee_Fname = user_input.next();
System.out.println();
System.out.print("Enter the employee's last name: ");
employee_Lname = user_input.next();
System.out.println();
System.out.print("Enter employee's city: ");
employee_city = user_input.next();
System.out.println();
System.out.print("Enter employee's state: ");
employee_state = user_input.next();
employee_state.toUpperCase();
System.out.println();
System.out.print("Enter employee's zipcode: ");
empzip = keyboard.nextDouble();
System.out.println();
System.out.print("Enter employee's job title: ");
employee_job = user_input.next();
System.out.println();
System.out.print("Enter employee's salary: ");
empsal = keyboard.nextDouble();
System.out.println();
while(empsal > 2000000) {
System.out.println();
System.out.println("Invalid salary entered! Please tryn again.");
System.out.print("Enter employee's salary: ");
empsal = keyboard.nextDouble();
System.out.println();
System.out.println();
}
System.out.print("Do you want to enter another employee? Y/N?");
answer = keyboard.next();
} while (answer.equals("Y"));
outFile.printf("Employee first name is: %n "+ employee_Fname +"%n");
outFile.printf("Employee last name is: %n " + employee_Lname +"%n");
outFile.printf("Employee city is: %n " + employee_city + "%n");
outFile.printf("Employee state is: %n " + employee_state +"%n");
outFile.printf("Employee zipcode is: %n " + empzip + "%n");
outFile.printf("Employee job is: %n " + employee_job +"%n");
outFile.printf("Employee salary is: %n " + empsal +"%n");
outFile.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
Вывод, однако, даже не дает мне текстовый файл, и если я ввел вторую запись, он удаляет запись, которая была у меня до этого, и отображает только последнюю введенную запись. Может быть, я поставил «попробовать» рано?
РЕДАКТИРОВАТЬ: ЭЙ не обращайте внимания на текстовую часть, я понял это! Оказывается, я не правильно определил «имя файла». Однако у меня все еще проблемы с моей программой. Мне все еще нужно помочь с тем фактом, что он не позволит мне отображать что-либо еще, кроме последней введенной записи. Не только это, но текстовый файл пуст. Я рад, что у меня хотя бы есть текстовый файл, который нужно показать, но он пуст.
`